iT邦幫忙

0

MSSQL where 條件 使用IN動態 語法

  • 分享至 

  • xImage

您好:
請問

declare @w as varchar(4)
set @w=1  或 者 set @w=''

select * 
from table
where wx in ( case when @w='' then 'X','B'
                   ELSE @w
            )
 

但是 then 'X','B',這樣不能過

於是 then ( select w from w_table ) ,這樣可以多筆,可使就會回傳 該語法下不能多筆

請問,有方法可以 讓他多筆嗎?
謝謝

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
0
純真的人
iT邦大師 1 級 ‧ 2023-10-19 23:31:09

你的條件怪怪的~我的應該會是這樣~

declare @w as varchar(4)
set @w=1  或 者 set @w=''

select * 
from table
where (1=2
 or (@w='' and wx in('X','B'))
 or @w='1'
)
0
fuzzylee1688
iT邦研究生 3 級 ‧ 2023-10-20 09:16:48

0
pilipala
iT邦新手 2 級 ‧ 2023-10-21 15:00:01

SQL Server 2016 開始有 STRING_SPLIT,了解一下是否有幫助

noway iT邦研究生 3 級 ‧ 2023-10-21 15:08:38 檢舉

不好意思,目前2012

我要發表回答

立即登入回答