关于Select Where In 的排序问题

感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编两巴掌来看看吧!

 

代码如下:


Select *     
FROM table1     
Where (ID IN (3,5,1,4,2))   
 

代码如下:


Select *  
FROM table1  
Where (ID IN (3,2))如果In后面的条件都是数字,那MSSQL排序应该为  
 

代码如下:


Select *     
FROM table1     
Where (ID IN (3,2))     
orDER BY CHARINDEX(',' + CONVERT(nvarchar, ID) + ',', ', Replace('3,2', ' ','')) + ',')   
 

代码如下:


Select *  
FROM table1  
Where (ID IN (3,2))  
orDER BY CHARINDEX(',')改进方法,不去处理空格,直接改用空格判断.可以用来判断少数有空格的字符条件. 
 

代码如下:


Select *     
FROM table1     
Where (ID IN (3,2))     
orDER BY PATINDEX('% ' + CONVERT(nvarchar(4000), ID) + ' %', ' ' + CONVERT(nvarchar(4000),' , ')) + ' ')   
 

代码如下:


Select *  
FROM table1  
Where (ID IN (3,2))  
orDER BY PATINDEX('% ' + CONVERT(nvarchar(4000), ')) + ' ')

其实还是在SQL外处理好条件字符串再进行查询和排序比较好.
对于MYSQL排序可能要改为(MYSQL不熟): 
 

代码如下:


Select *     
FROM table1     
Where (ID IN (3,2))     
orDER BY FIND_IN_SET(ID, '3,2') 

相关文章

本篇内容主要讲解“sqlalchemy的常用数据类型怎么使用”,感...
今天小编给大家分享一下sqlServer实现分页查询的方式有哪些的...
这篇文章主要介绍“sqlmap之osshell怎么使用”,在日常操作中...
本篇内容介绍了“SQL注入的知识点有哪些”的有关知识,在实际...
1. mssql权限sa权限:数据库操作,文件管理,命令执行,注册...
sql执行计划如何查看?在SPL庞大的数据中我们不知道如何查看...