欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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