oracle、mysql、postgresql 对 varchar 类型的数字排序不准解决办法

如果字段的类型为 varchar 型,但是里面存储的是纯数字,怎么实现按照数字的大小来排序?

oracle & mysql

直接 order by 某些情况下会排序不准确:
oracle、mysql、postgresql 对 varchar 类型的数字排序不准解决办法_第1张图片

下面的方法对于mysql和oracle都适用:
order by 字段+0
order by 字段*1
等等都可以实现
例:
oracle、mysql、postgresql 对 varchar 类型的数字排序不准解决办法_第2张图片

postgresql

postgresql 将varchar类型转化为integer排序
oracle、mysql、postgresql 对 varchar 类型的数字排序不准解决办法_第3张图片

你可能感兴趣的:(oracle,mysql)