手机
当前位置:查字典教程网 >编程开发 >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 的排序问题】相关文章:

hibernate连接sqlserver的问题

Access 导入到SQL Server 2005的方法小结

解决SQL Server 表或索引的碎片问题

SQLServer 中.与::的区别

LINQ to SQL:处理char(1)字段的方式会引起全表扫描问题

关于SQLServer2005的学习笔记 XML的处理

SQL Server 2005使用的网络协议

SQL Select语句完整的执行顺序

sql server 2000 版本查询

如何恢复数据库备份到一个已存在的正在使用的数据库上

精品推荐
分类导航