mysql将字符串转成数字


今天写sql语句时,相对字符串类型的数字进行排序,怎么做呢?

需要先转换成数字再进行排序

1.直接用加法

  字符串+0

eg:

  select * from orders order by (mark+0)  desc

eg:

以分类字段进行分组,获取分类总数amount,和qty(数量),最后以amount进行有大到小的倒序排列

SELECT category_code,SUM(transaction_number) as qty ,FORMAT(SUM(number*price),2)+0 as amount FROM sell WHERE date='2017-03-06' GROUP BY category_code ORDER BY amount 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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM