手机
当前位置:查字典教程网 >编程开发 >mssql数据库 >关于Select Where In 的排序问题
关于Select Where In 的排序问题
摘要:复制代码代码如下:Select*FROMtable1Where(IDIN(3,5,1,4,2))复制代码代码如下:Select*FROMta...

复制代码 代码如下:

Select*

FROMtable1

Where(IDIN(3,5,1,4,2))

复制代码 代码如下:

Select*

FROMtable1

Where(IDIN(3,5,1,4,2))如果In后面的条件都是数字,那MSSQL排序应该为

复制代码 代码如下:

Select*

FROMtable1

Where(IDIN(3,5,1,4,2))

orDERBYCHARINDEX(','+CONVERT(nvarchar,ID)+',',','+CONVERT(nvarchar,Replace('3,5,1,4,2','',''))+',')

复制代码 代码如下:

Select*

FROMtable1

Where(IDIN(3,5,1,4,2))

orDERBYCHARINDEX(','+CONVERT(nvarchar,ID)+',',','+CONVERT(nvarchar,Replace('3,5,1,4,2','',''))+',')改进方法,不去处理空格,直接改用空格判断.可以用来判断少数有空格的字符条件.

复制代码 代码如下:

Select*

FROMtable1

Where(IDIN(3,5,1,4,2))

orDERBYPATINDEX('%'+CONVERT(nvarchar(4000),ID)+'%',''+CONVERT(nvarchar(4000),Replace('3,5,1,4,2',',',','))+'')

复制代码 代码如下:

Select*

FROMtable1

Where(IDIN(3,5,1,4,2))

orDERBYPATINDEX('%'+CONVERT(nvarchar(4000),ID)+'%',''+CONVERT(nvarchar(4000),Replace('3,5,1,4,2',',',','))+'')

其实还是在SQL外处理好条件字符串再进行查询和排序比较好.

对于MYSQL排序可能要改为(MYSQL不熟):

复制代码 代码如下:

Select*

FROMtable1

Where(IDIN(3,5,1,4,2))

orDERBYFIND_IN_SET(ID,'3,5,1,4,2')

【关于Select Where In 的排序问题】相关文章:

关于数据库和SQL Server的若干见解

sql server 2000 版本查询

数据库Left join , Right Join, Inner Join 的相关内容,非常实用

SQLServre中的控制流语句

hibernate连接sqlserver的问题

SqlServer 2005的排名函数使用小结

Sql Server datetime问题

SQL Server 2005使用的网络协议

复习一下sql server的差异备份

sql server2008 排序函数

精品推荐
分类导航