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'

posted @ 2017-02-28 18:51  太潮了就要晒  阅读(4192)  评论(0编辑  收藏  举报