テーブルにビット値があり、ビット (0 または 1) と NULL (デフォルト) が含まれています。
これが私のSProcです:
CREATE PROCEDURE msp_CustomerStatistics
@Postal_MinValue int,
@Postal_MaxValue int,
@SubscriberState bit,
@CustomerType varchar(50)
BEGIN
[...]
WHERE Sub = @SubscriberState
AND Postal BETWEEN @Postal_MinValue AND @Postal_MaxValue
AND CustType = @CustomerType
END
@SubscriberState パラメーターに 1 または 0 を渡すと、正しい結果が得られます。しかし、null を渡すと、結果は 0 になり、正しくありません。
次の where 句を使用して SQL 選択を作成すると、次のようになります。
WHERE Sub IS NULL
その後、結果は正しいカウントを示します。
ストアド プロシージャを WHERE 句の NULL パラメータでも動作させる方法について何か考えはありますか??