-2

私はこのようなテーブルを持っています:

ID (pk,int)
Col1 (nvarchar)
Col2 (nvarchar)
Col3 (nvarchar)

すべての列(IDを除く)で、一部の値がNULLです。

次のようなクエリを作成したいと思います。

SELECT * FROM Table 
WHERE (Col1=<parameter> AND Col1 IS NULL)
 +    (Col2=<parameter> AND Col2 IS NULL)
etc.

NULLであり、パラメーターと等しい値が必要です

ありがとう

4

2 に答える 2

3

あなたの質問、特に「NULLでパラメータと等しい値が必要です」というビットは意味がありません。where句:

Col1 = <parameter> AND Col1 IS NULL

列がNULL何かであるため、trueになることはありません。同時に両方にすることはできません。

パラメータORNULLに等しい値が必要な場合は、次を使用する必要があります。

Col1 = <parameter> OR Col1 IS NULL
于 2012-06-13T08:22:19.570 に答える
1

ステートメント内のANDをに置き換えORます。WHERE

WHERE (Col1=<parameter> OR Col1 IS NULL)
ANd   (Col2=<parameter> OR Col2 IS NULL)
于 2012-06-13T08:22:07.907 に答える