MySQL之数字字符串按照数字排序

Posted on 2021-01-07 21:53  jiaoqing。  阅读(876)  评论(0)    收藏  举报

方法一:


TO_NUMBER(): 
cast( '123 '   as  UNSIGNED  INTEGER) 

cast('11'  as  DECIMAL(10,2))

例如:

SELECT * FROM 表名 ORDER BY cast(字段名as SIGNED INTEGER) ;

方法二:

在数据里面定义的是varchar类型,实际存放的是Int类型的数据,将字段*1或者+0可以将MySQL字符串字段按数值排序 :

select * from 表名 where 1 order by 字段名*1 desc; 

select * from 表名where 1 order by 字段名+0 desc;

 

 

ps:数字转字符串:

TO_CHAR(): 
CAST(123   AS  CHAR(3)) 

 

博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3