摘要: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))) + ',%'
set @forumToSearch = ',1, 2,3,4,5,'
select * from jb_job_m
where @forumToSearch like '%,' + ltrim(rtrim(str(job_id))) + ',%'
Hi,
亂馬客Blog已移到了 「亂馬客 : Re:從零開始的軟體開發生活」
請大家繼續支持 ^_^