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

Microsoft Sql server2005的安装步骤图文详解及常见问题解决方案

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

关于MSSQL 2005的安装与补丁

SQLServer 中.与::的区别

SQL Server 临时表的删除

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

复习一下sql server的差异备份

select * from sp_who的解决方案

SqlServer 2005 简单的全文检索

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

精品推荐
分类导航