我有一个这样的where子句:
.text-center
@IsCurrentRequest是一个位参数。我想检查@IsCurrentRequest = 1然后返回m.Date_6是NULL否则返回1.我知道这不起作用,因为m.Date_6 = NULL不起作用。我该如何解决?谢谢!
答案 0 :(得分:2)
我不确定我是否正确理解了您的问题,但可能是您正在寻找的这种情况(不使用CASE)?
WHERE @isCurrentRequest=1 AND m.date_6 IS NULL OR @isCurrentRequest=0
无论如何,当检查值是否为NULL时,您不能使用column_name = NULL,但是您应该使用column_name IS NULL(因为NULL是“特定”值)
答案 1 :(得分:1)
如果
ws://localhost:9222/devtools/page/4477eb1d-b1e2-4163-8250-0b3f93c0ea14
运算符的任何操作数为=
,则NULL
运算符将返回NULL
,因此您的代码将无法按预期运行。
尝试这样的事情:
WHERE IIF( @IsCurrentRequest = 1, IIF( m.Date_6 IS NULL, 1, 0 ), 1)