關(guān)于Select Where In 的排序問題
更新時間:2008年03月03日 20:10:06 作者:
有很多人不知道SQL里怎么按 Select Where In 的內(nèi)容進(jìn)行字段排序.假如SQL語句為:
復(fù)制代碼 代碼如下:
Select *
FROM table1
Where (ID IN (3,5,1,4,2))
復(fù)制代碼 代碼如下:
Select *
FROM table1
Where (ID IN (3,5,1,4,2))如果In后面的條件都是數(shù)字,那MSSQL排序應(yīng)該為
復(fù)制代碼 代碼如下:
Select *
FROM table1
Where (ID IN (3,5,1,4,2))
orDER BY CHARINDEX(',' + CONVERT(nvarchar, ID) + ',', ',' + CONVERT(nvarchar, Replace('3,5,1,4,2', ' ','')) + ',')
復(fù)制代碼 代碼如下:
Select *
FROM table1
Where (ID IN (3,5,1,4,2))
orDER BY CHARINDEX(',' + CONVERT(nvarchar, ID) + ',', ',' + CONVERT(nvarchar, Replace('3,5,1,4,2', ' ','')) + ',')改進(jìn)方法,不去處理空格,直接改用空格判斷.可以用來判斷少數(shù)有空格的字符條件.
復(fù)制代碼 代碼如下:
Select *
FROM table1
Where (ID IN (3,5,1,4,2))
orDER BY PATINDEX('% ' + CONVERT(nvarchar(4000), ID) + ' %', ' ' + CONVERT(nvarchar(4000), Replace('3,5,1,4,2', ',',' , ')) + ' ')
復(fù)制代碼 代碼如下:
Select *
FROM table1
Where (ID IN (3,5,1,4,2))
orDER BY PATINDEX('% ' + CONVERT(nvarchar(4000), ID) + ' %', ' ' + CONVERT(nvarchar(4000), Replace('3,5,1,4,2', ',',' , ')) + ' ')
其實(shí)還是在SQL外處理好條件字符串再進(jìn)行查詢和排序比較好.
對于MYSQL排序可能要改為(MYSQL不熟):
復(fù)制代碼 代碼如下:
Select *
FROM table1
Where (ID IN (3,5,1,4,2))
orDER BY FIND_IN_SET(ID, '3,5,1,4,2')
您可能感興趣的文章:
相關(guān)文章
SQL Server ltrim(rtrim()) 去不掉空格的原因分析
這篇文章主要介紹了SQL Server ltrim(rtrim()) 去不掉空格的原因分析,原因主要是因?yàn)橹虚g存在回車符或者換行符,所以要先將此符號替換掉,具體示例代碼大家參考下本文2017-08-08
SQLServer存儲過程實(shí)現(xiàn)單條件分頁
本文主要介紹了SQLServer存儲過程實(shí)現(xiàn)單條件分頁的方法,具有很好的參考價值。下面跟著小編一起來看下吧2017-03-03
SQLServer 使用rand獲取隨機(jī)數(shù)的操作
這篇文章主要介紹了SQLServer 使用rand獲取隨機(jī)數(shù)的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-01-01
淺析SQL Server中的執(zhí)行計(jì)劃緩存(上)
這篇文章主要介紹了淺析SQL Server中的執(zhí)行計(jì)劃緩存(上)的相關(guān)資料,需要的朋友可以參考下2015-12-12
SqlServer鎖表如何解鎖(模擬會話事務(wù)方式鎖定一個表然后進(jìn)行解鎖)
SQL提供了強(qiáng)大而完備的鎖機(jī)制來幫助實(shí)現(xiàn)數(shù)據(jù)庫系統(tǒng)的并發(fā)性和高性能,本文主要介紹了SqlServer鎖表如何解鎖,具有一定的參考價值,感興趣的可以了解一下2024-04-04
sqlserver數(shù)據(jù)庫遷移后,孤立賬號解決辦法
sqlserver數(shù)據(jù)庫遷移后,孤立賬號解決辦法,需要的朋友可以參考下。2011-10-10
教你使用SQL語句進(jìn)行數(shù)據(jù)庫復(fù)雜查詢
這篇文章主要介紹了使用SQL語句進(jìn)行數(shù)據(jù)庫復(fù)雜查詢,本篇文章結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-01-01

