0
我正在使用ANSI_NULLS
設置爲ON
。我需要更新我的查詢以允許參數傳遞一個空值。下面的查詢在JOIN
中有CASE
聲明。 SQL Server不喜歡語法。如何構建SQL查詢以允許空值
我需要有JOIN
看空值,如果@MyColumn
參數是NULL
,或者尋找中傳遞的價值。隨着ANSI_NULLS
設置爲ON
,我不能只是簡單地設置MyColumn = @MyColumn
因爲NULL
相當於NOTHING。我知道我需要使用IS NULL
語法。
如何正確格式化此查詢以獲得預期結果?
SET ANSI_NULLS ON
GO
CREATE PROCEDURE MySampleProc
@MyColumn INT
AS
SELECT
t2.MyColumn
FROM
Table1 t1
JOIN
Table2 t2 ON t2.Table2PK = t1.Table2FK
AND CASE
WHEN @MyColumn IS NULL THEN MyColumn IS NULL
ELSE MyColumn = @MyColumn
END