如何按升序录制
我的数据是
101
102
w
200
11
NO
131
2
XYZ
我只想按升序返回数字。
数据类型为varchar
我想将查询写为:
SELECT rno FROM ml_entry
WHERE (rno NOT LIKE '%[a-z]%')
ORDER BY rno
上面的SQL创建了以下输出:
101
102
11
131
154
2
但这是我想要的输出:
2
11
101
102
131
154
有什么建议吗?
答案 0 :(得分:0)
我认为你应该这样做:
SELECT rno, convert(rno, UNSIGNED INTEGER) as num
FROM ml_entry WHERE (rno NOT LIKE '%[a-z]%') ORDER BY num ASC
由于rno
是一个varchar,你的排序将是词法。您需要将varchar转换为整数,然后按顺序排序。
这是demo。