数据库中有个字段,类型是nchar,内容格式:KPI + 数字,如下:
KPI1
KPI10
KPI11
KPI2
KPI3
KPI4
KPI5
KPI6
KPI7
KPI8
KPI9
排序的时候,希望能够按照数字由小到大排序,
只需要在查询SQL追加以下order 命令即可:
ORDER BY CONVERT(int,SUBSTRING(kpiCode,4, LEN (kpiCode)-3)) ASC
简单地说,就是截取内容中的数字,然后转换为int类型排序
排序结果如下:
KPI1
KPI2
KPI3
KPI4
KPI5
KPI6
KPI7
KPI8
KPI9
KPI10
KPI11