【Sql】根據ID集合字符串,逗號拆分到臨時表查詢。


 1 ----1.獲取到ID集合
 2 DECLARE @Key nvarchar(max)
 3 select @Key = CAST(Logger AS nvarchar(MAX)) from AIS20190728100136_LC..T_Jzc_ServicesLog where id=10763
 4 --print(@Key)
 5 ----2.把ID集合拆分到#Ids臨時表
 6 CREATE TABLE #Ids(ID int)
 7 DECLARE @ID varchar(max)
 8 DECLARE @FinalID varchar(max)
 9 
10   WHILE(charindex(',',@Key) >0)
11   BEGIN
12   SET @ID = substring(@Key,0,charindex(',',@Key))
13  --print(@Id)
14  --set @FinalID = SUBSTRING(@ID,2,LEN(@Id)-2)
15   set @FinalID =REPLACE(@Id,'''','')
16   SET @Key = substring(@Key,charindex(',',@Key)+1,len(@Key))
17  --print(@Key)
18   INSERT INTO #Ids(ID) VALUES(@FinalID)
19   END
20    SET @Key =REPLACE(@Key,'''','')
21    INSERT INTO #Ids(ID) VALUES(@Key)
22 
23 
24 ----3.關聯查詢出中間表數據
25 select * from  ERP.dbo.WEB_Purchase t
26 where exists (select 1 from #Ids where id = t.id)
27 
28 ----4.手動釋放臨時表
29 DROP TABLE #Ids

@Key 的值為: '1','2','3','4'


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM