手机
当前位置:查字典教程网 >编程开发 >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 关于设置null的一些建议

sql server中的decimal或者numeric的精度问题

复习一下sql server的差异备份

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

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

SqlServer 2005 简单的全文检索

Sql Server datetime问题

SQL Server 2005使用的网络协议

sql server 2000 版本查询

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

精品推荐
分类导航