更快更高更强!

SQL字符型字段按数字型字段排序实现方法

上一篇 / 下一篇  2015-07-09 11:46:25 / 个人分类:数据库_SQL

由于是按字母顺序排列,所以123排在了2的前面,显然不符合我们的要求,那么怎样才能按照我们预想的数字顺序排序呢!
举例
 SELECT Store_Name, Sales, store_Date FROM Store_Information  ORDER BY Sales DESC 
查询出的结果是:

Boston           700
Los Angeles    300
San Diego       250
Los Angeles     1500
主要是因为Sales在定义时定义了字符串型
一、采用MySQL的cast函数,转换字段格式
这里我们将meta_value字段转换成数值类型的字段DECIMAL,然后再进行排序:

SELECT Store_Name, Sales, store_Date FROM Store_Information  ORDER BY CAST(`Sales` AS DECIMAL) DESC

二、使用MySQL绝对值函数ABS

     使用MySQL绝对值函数ABS,它告诉MySQL使用绝对值来处理处理这个字段:

SELECT Store_Name, Sales, store_Date FROM Store_Information  ORDER BY ABS(Sales) DESC


TAG:

 

评分:0

我来说两句

Open Toolbar