我的表中有一个位值,其中包含位(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
当我用 1 或 0 传递 @SubscriberState 参数时,结果是正确的。但是当我传递 null 时,结果为 0,这是不正确的。
如果我使用以下 where 子句创建 SQL 选择:
WHERE Sub IS NULL
然后结果显示正确的计数。
知道如何让我的存储过程在我的 WHERE 子句中使用 NULL 参数吗?