我正在尝试使用ID参数执行Select query,现在如果ID为空,那么我想要All Rows,否则只有包含此ID的行, 到目前为止,我已经创建了这个存储过程,
IF(@CustId = null)
Begin
Select * from tblCustomer
End
Else
Begin
Select * from tblCustomer where custID=@custID
End
当我使用ID执行此查询时,我得到结果但是当我通过时,我没有得到任何结果。这样做的正确方法是什么?
答案 0 :(得分:3)
Null的处理方式与其他值不同,您需要使用
IF (@CustId IS NULL)
您当前的IF(@CustId = null)
代码将始终评估为False,因此无论您为@CustId
传递的是什么,都会执行else案例。 This article 详细介绍了如何处理NULL值: