WHERE子句中的SQL IF语句

ka

伪SQL前面:

SELECT * 
FROM table
WHERE(if var1=a then var2 must=b) 
AND (if var2=c then var3 must=d);

该查询将返回两个var1 = a和var2 = b与条件匹配的行,以及var1!= a和var2!= c的所有行。

如果不使用IF,则使用OR将忽略条件之一,而使用AND将在每一行强制执行所有条件。

戈登·利诺夫

您可以使用布尔逻辑来做到这一点:

WHERE (var1 <> a or var2 = b) and
      (var2 <> c or var3 = d);

可能需要花一点时间来思考为什么这是等效的,但是在逻辑上是等效的(假设值不相等NULL)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章