SELECT id , rownum FROM test ORDER BY RIGHT(REPLICATE('0',10)+CAST(rownum AS varchar(10)),10) ASC
1.如果想要根據字符型的數字排序,不建議轉換成數字類型在order by,因為數據存在字符時,可能轉換失敗。
2.使用RIGHT方法,格式化字符串,如上述代碼所示,假設rownum字段長度為10,數據中包含'1','11','tt',轉換后為'0000000001','0000000011','00000000tt'