mysql—从字符串中提取数字(类型1)
select reason,CHAR_LENGTH(reason),mid(reason,5,CHAR_LENGTH(reason)-5)+0 from `table`
解释:
CHAR_LENGTH(字符串)  #计算字符串长度
mid(字符串,5,CHAR_LENGTH(reason)-5)  #从字符串第5位开始截取,截取长度为字符串长度-5,结果是
字符串不是数值PS:所以,记得把字符串结果转为数值。否则,在字符串中,max()⽐较12  2谁最⼤的时候,结果会选择2 ⽽不是12 mysql将字符串转成数字
今天写sql语句时,相对字符串类型的数字进⾏排序,怎么做呢?
需要先转换成数字再进⾏排序
1.直接⽤加法
mysql 字符串转数组
  字符串+0
eg:
  select * from orders order by (mark+0)  desc
2.使⽤函数
CAST(value as type);
CONVERT(value, type);
注:
  这⾥的type可以为:
    浮点数 : DECIMAL
    整数 : SIGNED
    ⽆符号整数 : UNSIGNED
eg:
  select * from orders order by CONVERT(mark,SIGNED)  desc
  select * from orders order by CAST(mark as SIGNED)  desc

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。