SQL数字排序问题?

来源:百度知道 编辑:UC知道 时间:2024/06/03 20:21:41
用SQL给下面的排序:A_1-10,A_11-20,A_21-30,A_1-30,用order by排序后结果是:A_1-10,A_11-20,A_1-30,A_21-30;但希望结果是:A_1-10,A_11-20,A_21-30,A_1-30;应该怎么写SQL语句,谢谢。

如果格式都是最后2位都是数字
试下
ORDER BY CAST( right(字段,2) AS int) ASC

我想楼主肯定不是想仅仅为这四个字符串排序,那么,请把想实现的排序规则详细的表达出来。
--------------------
是不是想先以后两位数字正序,再按中间的数字倒序啊?

order by cast(right(字段,2) as int),cast(substring(字段,3,CHARINDEX('-',字段)-3) as int) desc