草庐IT

varchars

全部标签

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

MYSQL CAST AS DECIMAL for VARCHAR 字段

我的客户给了我一个电子商务项目来修复一些错误。较早的愚蠢开发人员在产品表中给价格字段VARCHAR数据类型而不是非常明显的INTEGER数据类型,因此下一组开发人员为了根据价格范围进行搜索使用CAST(价格为十进制)。现在,我是第三个研究这个的人,我发现这个CASTASDECIMAL的东西并不奇怪只适用于0-500的价格范围,但适用于所有其他价格范围,如500-1000、1000-2000等等.查询是这样的:目前的查询是:SELECT*FROMtbl_productwherestatus=1andsubcat_id='128'andprice>'0'andprice这是以某种方式搜索价

php - Mysql 数字在 varchar 字段中进行比较

我需要比较存储在varchar字段中的数字,例如我有一个表:id|values1|22|1543|884|35我需要查找大于5的数字,如果我可以将int属性用于values字段,一切都会好起来的,但我必须使用varchar。有什么简单的解决办法吗? 最佳答案 你需要使用CAST(`values`ASUNSIGNED)那样select*fromtableWHERECAST(`values`ASUNSIGNED)>5DEMO编辑:假设您已经用负号-签署了数字然后select*fromtable1WHERECAST(`values`ASS

mysql - 在 MySQL 中将 Varchar 拆分为字符

我有一个长度为6的varchar字段。我想在MySQL中拆分为单个字符。目前我尝试使用以下脚本:col='123456';{selectSUBSTRING(col,1,1),SUBSTRING(col,2,1),SUBSTRING(col,3,1),SUBSTRING(col,4,1),SUBSTRING(col,5,1),SUBSTRING(col,6,1)fromtbl_table}上面的脚本可以工作,但是有没有其他解决方案。谢谢。 最佳答案 MySQL中没有字符串拆分功能。所以你必须创建自己的功能。使用下面的链接。这会帮助你拆

php - 订购带有小数和非小数的 varchar 字段

带有小数和非小数的Varchar字段。例如:100.02999200.56500.410.16如何让它以ASC顺序显示我尝试了下面的代码但没有成功SELECT*FROMpostsORDERBYCAST(priceASDECIMAL(10,2))DESCLIMIT0,9还有SELECT*FROMpostsORDERBYconvert(price,decimal)DESCLIMIT0,9但是上面的代码似乎都不起作用。有人可以指出我执行此操作的正确方法。 最佳答案 排序问题是由于对数字使用了sting类型的字段,它永远不会像人类期望的那样