SQL server字段排序,如果字段是字符型的数字,怎么按数字型排序?

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'

猜你喜欢

转载自blog.csdn.net/zsc201825/article/details/81946360