亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > SQL Server > 正文

在SQL查詢中使用LIKE來代替IN查詢的方法

2024-08-31 00:58:18
字體:
來源:轉載
供稿:網友
如下:

復制代碼 代碼如下:


SELECT * FROM Orders
WHERE OrderGUID IN('BC71D821-9E25-47DA-BF5E-009822A3FC1D','F2212304-51D4-42C9-AD35-5586A822258E')


可以看出直接在IN后面跟ID的集合需要將每一個ID都用單引號引起來。在實際應用中會遇到這么一種情況,在界面中收集的是一串GUID的拼接字符串,中間以逗號隔開,如果作為參數傳到一個存儲過程中執行,最終生成的語句會是下面這樣:

復制代碼 代碼如下:


SELECT * FROM Orders
WHERE OrderGUID IN('BC71D821-9E25-47DA-BF5E-009822A3FC1D,F2212304-51D4-42C9-AD35-5586A822258E')


這樣就不能查詢到正確的結果。

一般情況下我們解決此問題的思路是將傳入的字符串用一個split函數來處理,最終處理的結果是一張表,然后將這個表做自查詢即可,如下:

復制代碼 代碼如下:


DECLARE @IDs VARCHAR(4000)
SET @IDs='BC71D821-9E25-47DA-BF5E-009822A3FC1D,F2212304-51D4-42C9-AD35-5586A822258E'
DECLARE @temp TABLE(str VARCHAR(50))
INSERT INTO @temp
SELECT * FROM dbo.Split(@IDs,',')
SELECT * FROM Orders WHERE OrderGUID IN (SELECT str FROM @temp)


當然split函數系統比不提供,需要我們自己寫:

復制代碼 代碼如下:


CREATE FUNCTION Split
(
@SourceSql varchar(8000),
@StrSeprate varchar(10)
)
RETURNS @temp TABLE(F1 VARCHAR(100))
AS
BEGIN
DECLARE @i INT
SET @SourceSql=rtrim(ltrim(@SourceSql))
SET @i=charindex(@StrSeprate,@SourceSql)
WHILE @i>=1
BEGIN
INSERT @temp VALUES(left(@SourceSql,@i-1))
SET @SourceSql=substring(@SourceSql,@i+1,len(@SourceSql)-@i)
SET @i=charindex(@StrSeprate,@SourceSql)
END
IF @SourceSql<>''
INSERT @temp VALUES(@SourceSql)
RETURN
END


像這樣做非常麻煩,而且還需要借助函數來實現,下面介紹一種簡單的方法,因為GUID是唯一的,所以在上面的例子中可以使用LIKE來代替IN也可以達到同樣的查詢效果:

復制代碼 代碼如下:


SELECT * FROM Orders
WHERE 'BC71D821-9E25-47DA-BF5E-009822A3FC1D,F2212304-51D4-42C9-AD35-5586A822258E'
LIKE '%'+convert(VARCHAR(40),OrderGUID)+'%'

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
综合欧美国产视频二区| 欧美激情按摩在线| 国产成人精品久久二区二区91| 亚洲国产精品成人一区二区| 亚洲91精品在线| 伊人伊成久久人综合网站| 国产精品主播视频| 欧美日韩福利在线观看| 亚洲第一页中文字幕| 5566日本婷婷色中文字幕97| xxxxx91麻豆| 国产视频亚洲精品| 久久精品国产2020观看福利| 国产精品日韩欧美| 伦伦影院午夜日韩欧美限制| 欧美国产日韩一区二区在线观看| 最新国产精品亚洲| 在线观看视频99| 欧美激情中文字幕在线| 亚洲最大的成人网| 欧美黑人视频一区| 在线视频免费一区二区| 精品伊人久久97| 亚洲欧美综合区自拍另类| 91精品国产高清久久久久久久久| 久久久久久久999精品视频| 亚洲色图国产精品| 国产精品亚洲欧美导航| 色樱桃影院亚洲精品影院| 欧美视频在线视频| 亚洲片在线观看| 亚洲人成在线观看网站高清| 国产精品美女久久久免费| 久久久久久久999| 国产日韩欧美另类| 岛国av一区二区三区| 国产精品爱啪在线线免费观看| 日本韩国欧美精品大片卡二| 成人激情春色网| 日韩午夜在线视频| 91久久精品一区| 911国产网站尤物在线观看| 国产精品日日做人人爱| 国产大片精品免费永久看nba| 日韩在线小视频| 亚洲欧洲在线视频| 欧美一级电影久久| 日韩成人在线播放| 毛片精品免费在线观看| 日韩精品在线免费| 国产欧美精品久久久| 久久99精品久久久久久噜噜| 国产精品成久久久久三级| 97在线免费观看| 欧美日韩激情小视频| 曰本色欧美视频在线| 欧美极品第一页| 欧美另类xxx| 日韩欧美在线免费观看| 性色av一区二区三区| 日本一欧美一欧美一亚洲视频| 欧美性猛交xxxx偷拍洗澡| 国产99久久精品一区二区| 亚洲精品v欧美精品v日韩精品| 久久国产一区二区三区| 日韩天堂在线视频| 国产成人精品久久二区二区91| 亚洲精品免费av| 成人黄色短视频在线观看| 秋霞av国产精品一区| 亚洲精品ady| 国产一区二区三区在线| 亚洲综合一区二区不卡| 国产xxx69麻豆国语对白| 国产日韩欧美另类| 国产91热爆ts人妖在线| 成人信息集中地欧美| 一区二区三区亚洲| 欧美电影免费观看大全| 国产精品嫩草影院一区二区| 精品动漫一区二区三区| 92福利视频午夜1000合集在线观看| 中文字幕免费国产精品| 亚洲精品aⅴ中文字幕乱码| 宅男66日本亚洲欧美视频| 久久91亚洲精品中文字幕奶水| 亚洲最大中文字幕| 国产成人一区二区三区| 亚洲欧洲国产精品| 亚洲国产成人av在线| 国产欧美精品va在线观看| 97视频网站入口| 久热在线中文字幕色999舞| 国产精品久久久久久久一区探花| 成人黄色免费看| 在线视频欧美日韩| 日韩成人免费视频| 人人澡人人澡人人看欧美| 狠狠久久亚洲欧美专区| 国产精品欧美一区二区三区奶水| 国产亚洲日本欧美韩国| 亚洲女人被黑人巨大进入| 91极品视频在线| 欧美性生交大片免费| 亚洲一区中文字幕在线观看| 日韩免费精品视频| 尤物九九久久国产精品的特点| 亚洲最大福利视频| 欧美—级a级欧美特级ar全黄| 欧美性猛交xxxx乱大交极品| 亚洲欧美激情视频| 色偷偷偷亚洲综合网另类| 97在线看免费观看视频在线观看| 国产精品亚洲激情| 欧美激情在线播放| 亚洲一区二区三区xxx视频| 欧美电影在线观看| 日韩欧美一区视频| 日韩成人激情在线| 中文字幕不卡在线视频极品| 亚洲精品中文字| 青青草原一区二区| 欧美在线不卡区| 青青草精品毛片| 日本不卡视频在线播放| 久久在线视频在线| 欧美另类极品videosbest最新版本| 一区二区三区视频观看| 亚洲人成电影网站| 国产精品久久久久久久电影| 亚洲人在线视频| 亚洲春色另类小说| 国产精品精品国产| 亚洲国产欧美日韩精品| 国产日韩精品在线观看| 日韩欧美国产高清91| 一本色道久久88综合亚洲精品ⅰ| 91精品国产综合久久男男| 欧美性生活大片免费观看网址| 国产精品久久久久不卡| 国产精品视频精品| 欧美成在线视频| 亚洲性av网站| 欧美国产中文字幕| 亚洲国产欧美一区二区三区久久| 国产99视频精品免视看7| 亚洲国产精品福利| 亚洲欧美成人一区二区在线电影| 国产精品综合久久久| 久久久久久久久久久久av| 91精品久久久久久| 亚洲大胆美女视频| 最新国产成人av网站网址麻豆| 伊人一区二区三区久久精品| 亚洲国产精彩中文乱码av在线播放| 久久久国产成人精品| 亚洲最大福利视频| 欧美一性一乱一交一视频| 国产成人在线一区| 国产精品视频久久久久| 日韩在线免费视频观看| 精品人伦一区二区三区蜜桃网站| 欧美精品在线第一页| 91亚洲人电影|