我有这些CB1-15值,但我想通过... CB1-15订购它们,但目前它是CB1,CB10,CB11等。
这就是我的表格......
Twitter
感谢您的帮助:)
答案 0 :(得分:6)
使用以下脚本。
SELECT *
FROM YourTable
ORDER BY CAST(Replace(YourColumn,'CB','')as INT)
答案 1 :(得分:2)
有些不清楚这些数据是多列还是单个字符串。这两种方法都适用于两种情况:
select *
from yourtable
order by cast((substring(yourfield, 3, 2)) as int)
关键是使用cast
order by
int
代替字符串。
答案 2 :(得分:0)
另一个简单的方法是做排序:
order by len(col), col
如果你想下降:
order by len(col) desc, col desc