最近在开发中遇到了字段进行排序问题,字段类型是varchar类型 转换为INTEGER 进行排序:
举个例子:例如我们要进行排序的字段是 name_id 为varchar 要进行排序
select * from book where order by name_id desc, 此种排序肯定不是想要的下面两种方式为你想想的
select * from book order by (name_id+0) desc
select * from book order by (name_id as unsigned) desc
select * from book order by CONVERT(name_id,SIGNED) desc
mysql为我们提供了两个类型转换函数:CAST和CONVERT,现成的东西我们怎能放过?
CAST() 和CONVERT() 函数可用来获取一个类型的值,并产生另一个类型的值。
这个类型 可以是以下值其中的 一个:
BINARY[(N)]
CHAR[(N)]
DATE
DATETIME
DECIMAL
SIGNED [INTEGER]
TIME
UNSIGNED [INTEGER]
UNSIGNED 解释
本文出自 “技术懒人” 博客,请务必保留此出处http://verify.blog.51cto.com/7460015/1360481
原文:http://verify.blog.51cto.com/7460015/1360481