如何理解SQL中的语句

时间:2016-04-06 18:55:55

标签: tsql null

在某些存储过程中,我在where子句中看到以下语句:

...
where
(@val1 is null or val = @val)

这是什么意思?

1 个答案:

答案 0 :(得分:3)

在传递用于过滤结果集的变量时,我之前在存储过程中使用了它。 null值表示该参数不应用作过滤器。

  • 如果@val1为空,则表达式为true,结果不会被过滤。
  • 如果@val1不为空,则结果将被过滤,val列必须与参数匹配。