SQL Dynamic In

摘要:SQL Dynamic In

當我們想要找某些值在欄位中通常會用In,如 Select * from JB_JOB_M Where JOB_ID in ( 1, 2, 3, 4, 5)
可是當我們由程式傳進來時通常是 "1,2,3,4,5" 的字串,
所以我們把"1,2,3,4,5" 當參數進SQL時,要達到上述的功能,
則要把此字串,轉成一暫存的Table,再去用In 那個Table,如
Select * from JB_JOB_M Where JOB_ID in ( Select Job_ID From #temp )

現在我們可以用 %,column,% + like 達到相同的功能,範例如下,
 

 

declare @forumToSearch varchar(50)
set @forumToSearch  = ',1, 2,3,4,5,'
select * from jb_job_m
where @forumToSearch like '%,' + ltrim(rtrim(str(job_id))) + ',%'