问题描述
在开发过程中,我们经常会遇到需要对数据排序的操作,但数据在库中的存储类型不一定是支持排序的,比如VARCHAR就不支持,那么如果和VARCHAR类型的数值进行排序呢。
解决方案
cast(value as decimal),使用cast函数将VARCHAR类型的value字段转为decimal类型就可以排序了。
其中CAST函数可转换的类型是有限制的,只能转成如下类型:
- 二进制,同带binary前缀的效果 : BINARY
- 字符型,可带参数 : CHAR()
- 日期 : DATE
- 时间: TIME
- 日期时间型 : DATETIME
- 浮点数 : DECIMAL
- 整数 : SIGNED
- 无符号整数 : UNSIGNED