SQL Server中使用order by charindex按指定顺序排序
在使用SQL Server数据库编程中,有时需要对取出来的数据按照指定的顺序排序,例如,取出来的数据某个字段值有张三、李四、王五,但是要求获取的数据顺序为:李四、张三、王五。我们可以使用order by结合charindex函数实现这个功能。
实现原理
把ID转成字符串,然后在两边加上",",组合一个字符串,用逗号隔开每个ID,然后查询ID的下标值(之所以两边加上","是因为查询下标的时候类似ID=123和ID=1234会查到同一个下标)
egg:
ORDER BY CHARINDEX(State,'江岸区江汉区硚口区汉阳区武昌区青山区洪山区蔡甸区江夏区东西湖区黄陂区新洲区东湖高新区汉南区') ASC;