草庐IT

varchar_ignorecase

全部标签

mysql - 哪个更好 : storing string including Unicode characters in NVARCHAR or VARCHAR?

这个问题在这里已经有了答案:Whatisthedifferencebetweenvarcharandnvarchar?(21个回答)关闭9年前。我想存储包含Unicode字符的字符串。我知道有两个选择。NVARCHAR和VARCHAR。NVARCHAR使用2个字节存储一个字符;但是VARCHAR对一个字符使用1个字节。就存储2个2字节的unicode字符而言,每个字符使用4个字节。但是当涉及到存储1个1字节的ansi字符和1个2字节的unicode字符时,NVARCHAR使用4个字节,而VARCHAR使用3个字节。所以我认为使用VARCHAR更紧凑并且始终是更好的方法。我不知道我上面的

php - 如何在 mysql (laravel) 中使 varchar 可以为空且唯一

我可以让一个MySQL列既可以为null又可以唯一吗?如果用户想要提供,我有一个存储用户Email_id的表,否则它将是(空)。我在其他一些问题中读到,我可以使用默认NULL创建一个唯一字段。但是我在创建表时遇到了这个错误#1067-Invaliddefaultvaluefor'email'(imakeitonlyfortestpurpose)主表是用laraveschemabuilder类生成的$table->text('email')->nullable()->unique();(nodefaultadded)在数据库中+--------------+---------------

SQL查询以从varchar(100)句子中删除特定字符串

我有一个称为“句子varchar(100)”的列,它包含数据作为"firstname,lastname:isActivatedon01/01/2017""firstname,lastname:isDownloadedon01/01/2017""firstname,lastname:isDeletedon01/01/2017""firstname,lastname:isDeactivatedon01/01/"firstname,lastname:isBornon01/01/2017"在这里,我想qritesql查询,将每个字符串显示为“名字,姓氏:被激活”“名字,姓氏:born”我想从“日期”中

mysql - 数字文字 0 等于 VARCHAR 列中的任何内容

在MySQL中,VARCHAR字段匹配0数字文字但不匹配数字文字1。是什么导致了这种行为? 最佳答案 在您的最后一个示例中,MySQL将尝试将您的VARCHAR列CAST转换为数值。例如,当您尝试将非数字字符串转换为DECIMAL时,转换将在第一个非数字字符处停止。空字符串将匹配0例如:>selectcast('x123'asdecimal);+-------------------------+|cast('x123'asdecimal)|+-------------------------+|0|+---------------

MySQL 按两个 varchar 列排序

我很难想出一个描述性的标题,所以我认为更好的表达方式是举个例子。假设我有一张包含以下内容的表格:NAME|EMAILJohn|john@example.comMike|mike@example.comNULL|albert@example.comBill|zebra_bill@example.com我想对查询进行排序,以便结果为:NAME|EMAILNULL|albert@example.comBill|zebra_nill@example.comJohn|john@example.comMike|mike@example.com如果不清楚,它应该按姓名和电子邮件排序,当NAME列没有

mysql - 如何从以不同格式存储日期的 varchar 列中获取有效日期

我在MySql的表中有一列,其中包含任何格式的字符串日期(没有固定模式),它可以是m-d-y或M-D-Y或m/d/y或YY/MM/DD或MM/DD/YY或mm/dd/yy等。我的问题是我应该如何检测它然后更改某些特定格式,即mm/dd/yy。 最佳答案 如果您能猜出您将日期存储在varchar字段中的不同格式的数量,那么处理这个问题会更容易;一种方法是将所有这些不同的格式放在下面给出的查询中:SELECTCOALESCE(STR_TO_DATE(your_date_column,'%m-%d-%Y'),STR_TO_DATE(you

php - VARCHAR SQL包含数字如何在逗号后获得2位小数

我在网站上正确显示价格时遇到了一些问题。目前我有一行VerkoopPP40,这是一个VARCHAR输入。在这一行中有一个价格,例如89,5或只是9。当我尝试获取这些值时,它做了一些意想不到的事情。****更新****我刚刚试过这段代码:0,'decimalSeparator'=>'.','thousandSeparator'=>''];#Defaultformat#Finddecimalseparator#Thedecimalseparatoristheonethatisthelastanddoesnotoccurmorethanonceif($letters=str_replace(

mysql - 如何找到mysql varchar列的最大值

我有一个这样的表,带有一个varchar字段reference_number实际上我需要在该字段中获取最大数量>|`id`|`reference_number`(varchar(25))--------------------------|1|L250|2|SP521|3|S120|4|SP500|5|S122期望的结果是521,因为如果我们避免非数字值,那么它会像这样出现|`id`|`reference_number`--------------------------|1|250|2|521|3|120|4|500|5|122如何从表中获取值521 最佳

mysql - 在 MySQL 中,UNIQUE 索引会作为 varchar 列的快速查找吗?

如果我在MySQL表中有一列short_title并且它被定义为UNIQUE,我是否还必须添加FULLTEXT才能真正快速地搜索它?还是UNIQUE已经保证它可以快速搜索(无需全表扫描)?谢谢,博达赛多 最佳答案 UNIQUE将使用基础索引逐字定位short_title。如果您需要单词匹配(而不是逐字匹配),请使用FULLTEXT索引。另请注意,默认情况下,MyISAM中针对VARCHAR列的B-Tree索引会进行键压缩。这会减慢搜索接近字母表末尾的标题的速度:Indexsearchtimedependsonthevaluebein

mysql - 当非法减少长度时,定义为 varchar 的列上的行中的内容会发生什么情况?

这当然是一个愚蠢的问题,但我不得不问::-)假设一个类型为varchar且长度为255的列,并且存储在该列的一行中的最长字符串的长度为200。如果我更改了这些列,会发生什么情况长度小于200?字符串会全部被“切断”吗? 最佳答案 默认情况下,它允许您更改列,它会截断长于新长度的字符串,并且会生成警告。mysql>createtablet(vvarchar(20));QueryOK,0rowsaffected(0.06sec)mysql>insertintotvalues('12345678901234567890');QueryOK