如果没有,是否有另一种方法可以使用CASE或IF / THEN标识符切换SELECT语句而不首先将语句放在标量变量中?
有没有办法在不使用IS并使用=符号来设置它的格式?
SELECT ID FROM TABLE WHERE ID = Null
答案 0 :(得分:5)
没有。 NULL不是值。将NULL视为一种条件,IS NULL
或IS NOT NULL
正在测试此条件。
在此示例中,您可以测试实际值,或缺少条件所代表的值
WHERE
(X IS NULL OR X = @X)
OR
WHERE
(@X IS NULL OR X = @X)
首先测试你的确定条件:
WHERE
CASE X
WHEN 1 THEN
WHEN 2 THEN
ELSE -- includes NULL
END = ...
你的问题很抽象,很难给出更准确的答案。
例如,你有NOT IN和NULL的问题吗?如果是这样,请使用NOT EXISTS。