SqlServer按照指定顺序对字段进行排序
程序员文章站
2024-03-17 22:57:22
...
可以用SqlServer的CHARINDEX方法来完成对字段按照指定规则排序的需求
代码如下:
select * from Student where ID in ( 1, 2, 3)
order by CHARINDEX( ',' + CONVERT ( varchar (10),ID)+ ',' , ',2,1,3,' )
说明:这里用到一个小技巧,就是把ID转成字符串,然后在两边加上",",组合一个字符串,用逗号隔开每个ID,然后查询ID的下标值(之所以两边加上","是因为查询下标的时候类似ID=123和ID=1234会查到同一个下标,网上给出的类似答案几乎都没有注意到这一点!!!)。如果对CHARINDEX这个方法不看不明的话可以看下以下这个查询,估计就明白了。
参考自:https://www.cnblogs.com/serafin/archive/2011/07/13/2104986.html