SELECT id
, rownum
FROM test
ORDER BY RIGHT(REPLICATE('',10)+CAST(rownum AS varchar(10)),10) ASC
1.如果想要根据字符型的数字排序,不建议转换成数字类型在order by,因为数据存在字符时,可能转换失败。
2.使用RIGHT方法,格式化字符串,如上述代码所示,假设rownum字段长度为10,数据中包含'1','11','tt',转换后为'0000000001','0000000011','00000000tt'