数据库中有个字段,类型是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
本文介绍了一种在SQL查询中对包含数字的字符串字段进行正确排序的方法。通过使用SUBSTRING和CONVERT函数组合,可以实现对KPI代码这样的混合字符串按数字部分进行升序排列。





