![]() |
1
1
您在问题中写道:
因此,您已经回答了自己,AND查询是正确的查询:
下面是我从ANSI SQL草案2003中借用的摘录 this 问题:
您没有指定使用哪种数据库系统,但上一段中解释的短路评估概念适用于所有主要的SQL版本(t-SQL、PL/SQL等) 短路求值意味着一旦成功求值一个表达式,它将立即退出条件并停止求值应用于您的问题的其他表达式:
如果
这种情况有点棘手,因为您不能有一个也为null的非空字符串,所以OR条件也会起作用,但您需要进行额外的计算,因为短路计算永远不会在第一个表达式中退出:
在第二种情况下,您可能会得到一个异常,因为表达式
所以我认为这是正确的答案。希望有帮助。 |
![]() |
2
1
如果该值是数字,并且您不需要1或2,那么可以将该条件写为
在这种情况下,OR总是正确的。例如,值1将针对2的检查返回true,然后OR检查将返回true,因为至少有一个条件的计算结果为true。
当yu还想检查
|
|
Johnny T · 基于当前值的SQL合并表[重复] 5 月前 |
![]() |
John D · 需要为NULL或NOT NULL的WHERE子句 5 月前 |
![]() |
ojek · 如何对SQL结果进行分组和编号? 5 月前 |
![]() |
senek · 如何在PL/SQL中将选择结果(列)放入数组中 5 月前 |
![]() |
Sax · 规范化Google表格(第一步) 5 月前 |
![]() |
Jatin · 检索卷计数的动态sql抛出错误语法错误[关闭] 5 月前 |
![]() |
Andrus · 如何在sql中查找第二个匹配项 5 月前 |