我正在使用ANSI_NULLS
设置为ON
。我需要更新我的查询以允许参数传递空值。我在下面的查询在CASE
中有一个JOIN
语句。 SQL Server不喜欢这种语法。
如果JOIN
参数为@MyColumn
,或者查找传入的值,我需要NULL
查找NULL。将ANSI_NULLS
设置为{{ 1}},我不能简单地设置ON
,因为MyColumn = @MyColumn
等同于NOTHING。我知道我需要使用NULL
语法。
如何正确格式化此查询以获得预期结果?
IS NULL
答案 0 :(得分:3)
试试这个......
SELECT
t2.MyColumn
FROM Table1 t1
JOIN Table2 t2 ON t2.Table2PK = t1.Table2FK AND
((@MyColumn IS NULL AND MyColumn IS NULL) OR MyColumn = @MyColumn)