次の動的クエリを実行しようとしていますが、私はこのクエリに動的パラメータを渡しました。動的クエリでnull値を渡す方法
DECLARE @TABLE TABLE(ID INT,NAME VARCHAR(10))
INSERT INTO @TABLE
SELECT 1,'A'
UNION
SELECT 2,'B'
UNION
SELECT 3,NULL
DECLARE @NAME VARCHAR(20)=NULL,
@SQL VARCHAR(MAX)
SET @SQL='SELECT *
FROM @TABLE
WHERE NAME='''[email protected]+''''
PRINT @SQL
しかし、結果やエラーはありません。 誰かがこの問題を解決します。
NULLの連絡先がNULLのままであるため、ISNULLを@Nameに使用できます。 –
なぜ動的SQLがありますか? –
意図的にNULL値をクエリに渡したい場合、またはクエリが失敗している理由が不明な場合は、明確にしてください。 NULLを渡したい場合は、 '='演算子を使用してNULL比較を行うべきではないため、文字列を変更する必要があります。 – DK5