varchar类型的字段存储纯数字的排序

varchar类型的字段存储纯数字的排序,如果表字段的类型为varchar型,但是里面存储的是纯数字,怎么实现按照数字的大小来排序?
下面的方法对于 mysql 和oracle都实用
order by 字段+0
order by 字段*1
等等都可以实现

例子:
mysql> select * from goolen order by id;
+------+
| id |
+------+
| 1 |
| 10 |
| 11 |
| 2 |
| 20 |
| 22 |
| 3 |
| 4 |
| 5 |
+------+
9 rows in set (0.00 sec)

mysql> select * from goolen order by id+0;
+------+
| id |
+------+
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 10 |
| 11 |
| 20 |
| 22 |
+------+

9 rows in set (0.00 sec)

猜你喜欢

转载自blog.csdn.net/hbqandjava/article/details/74630147
今日推荐