如果字段的类型为 varchar 型,但是里面存储的是纯数字,怎么实现按照数字的大小来排序?
oracle & mysql
直接 order by 某些情况下会排序不准确:
select num from test order by num
select num from test order by (num + 0)
下面的方法对于mysql和oracle都适用:
order by 字段+0
order by 字段*1
等等都可以实现
postgresql
postgresql 将varchar类型转化为integer排序
转换成浮点型
select '111.344722222222'::FLOAT
或者
select CAST( '111.344722222222' AS FLOAT)
版权声明:本文为li1246994520原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。