> 数据库 > SQL Server 2008 >

SQLSERVER的英文+数字排序规则(亲自实践)

数据库中有个字段,类型是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
 


 

(责任编辑:IT)