在MySQL中,可以使用一些函数进行类型转换,比如说将varchar类型的转换成数字进行排序比较等
SELECT * from action_log order by CAST(costMilliSeconds AS UNSIGNED) desc
SELECT * from action_log order by CONVERT(costMilliSeconds,signed) desc
CAST和CONVERT都有转换的意思,但是有一些区别
CAST:强制转换,在其它数据库中比较通用,当小数转化为数值,并保留原始表达式中的小数数值时,仍然需要使用CAST
CONVERT:显示转换,CONVERT是专对SQL Server使用的,使日期与时间值,小数之间转换具有更宽的灵活性
tips:不过最好不在数据库做转换,效率不高,而且使用函数会让索引失效
后面那个可转换的类型可以根据实际情况使用,如下
扩展资料:
可用的类型:
二进制,同带binary前缀的效果 : BINARY
字符型,可带参数 : CHAR()
日期 : DATE
时间: TIME
日期时间型 : DATETIME
浮点数 : DECIMAL
整数 : SIGNED
无符号整数 : UNSIGNED,如果没有正负符号,就用这个