了解查询中的冒号null检查

时间:2017-01-16 13:38:23

标签: sql

我今天遇到了以下问题,我可以理解第二个条件的目的,而

select name  from table1 where name = :n1 or :n1 is null;

我可以理解n1被替换,但秒条件似乎是多余的。即使存在(name = null)记录,也将获取记录(OR条件),而不管第二个条件如何。那么第二个条件的目的是什么?。

2 个答案:

答案 0 :(得分:2)

  

:n1为空;

它被称为使过滤器可选。当输入为table1

时,它用于显示NULL的所有记录

答案 1 :(得分:1)

如果n1为null,则返回所有行(即跳过名称条件。)

[根据要求发布答案。]