标签: mysql sql
我想知道当数字是字符串时是否有办法进行数字排序。看看例子:
查询:
SELECT * FROM t_tables t order by id_string asc
这是DB中的列表:
13 4 6 8 10 1 3 2 5 12 7 9 11
我需要以这种方式提取它:
1 2 3 4 5 6 7 8 9 10 11 12 13
但结果我得到了这个:
1 10 11 12 13 2 3 4 5 6 7 8 9
答案 0 :(得分:2)
如果您知道列中始终包含数值,则可以使用CAST()运算符。另请查看此question。
CAST()
SELECT * FROM t_tables t ORDER BY CAST(id_string AS UNSIGNED) ASC
答案 1 :(得分:2)
SELECT * FROM t_tables t order by cast(id_string as signed integer) asc;
答案 2 :(得分:1)
希望有所帮助:
SELECT * FROM t_tables t order by cast(id_string as unsigned)