我希望在案件判断为
之后获得多重选择 @value
select * from [dbo].[Currency_Tbl]
WHERE [Currency_Active_YN]=
CASE WHEN @value = 1 THEN
( 1 or 0)
ELSE
@Value = 0 then 0
END
它不接受col1中的第一行但接受col2
如何在THEN
之后选择多个数字?
答案 0 :(得分:2)
您不能在case
条款中使用where
。使用布尔逻辑
select * from [dbo].[Currency_Tbl]
WHERE (@value = 1 and [Currency_Active_YN] in (0,1))
OR (@value = 0 and [Currency_Active_YN] = 0)
答案 1 :(得分:2)
你不需要一个案例去做你想做的事情。假设Currency_Active_YN
是一个非空bit
字段,则以下逻辑就足够了。
select * from [dbo].[Currency_Tbl]
WHERE (@value=1 OR [Currency_Active_YN]=@Value)