1

我正在尝试使用 ID 参数执行 Select 查询,现在如果 ID 为空,那么我想要所有行,否则只有包含此 ID 的行,到目前为止,我已经创建了这个存储过程,

IF(@CustId = null)
  Begin
   Select * from tblCustomer
  End
Else
  Begin
   Select * from tblCustomer where custID=@custID
  End

当我使用 ID 执行此查询时,我得到了结果,但是当我通过时,我没有得到任何结果。这样做的正确方法是什么?

4

1 回答 1

3

Null 的处理方式与其他值不同,您需要使用

IF (@CustId IS NULL)

您当前的代码IF(@CustId = null)将始终评估为 False,因此无论您传递什么,都将执行 else 案例@CustId本文更详细地介绍了如何处理 NULL 值:

于 2013-05-19T03:04:32.870 回答