如何构造SQL查询以允许NULL

时间:2016-01-21 18:39:04

标签: sql sql-server tsql

我正在使用ANSI_NULLS设置为ON。我需要更新我的查询以允许参数传递空值。我在下面的查询在CASE中有一个JOIN语句。 SQL Server不喜欢这种语法。

如果JOIN参数为@MyColumn,或者查找传入的值,我需要NULL查找NULL。将ANSI_NULLS设置为{{ 1}},我不能简单地设置ON,因为MyColumn = @MyColumn等同于NOTHING。我知道我需要使用NULL语法。

如何正确格式化此查询以获得预期结果?

IS NULL

1 个答案:

答案 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)