【问题标题】:Is there an SQL function that let us put condition above WHERE clause?是否有一个 SQL 函数可以让我们将条件置于 WHERE 子句之上?
【发布时间】:2020-04-04 16:07:50
【问题描述】:

我有几个 WHERE 子句的查询。基于外部变量:flag,我想在可以使用 WHERE 子句时设置一个条件。下面是我的意思的介绍。我想要一个伪 if else 语句。

    SELECT * FROM table
    WHERE cond1 = sth1
    AND cond2 = sth2
    --if :flag == 1 then (AND cond3 = sth3) else pass
    AND cond4 = sth4

【问题讨论】:

    标签: sql oracle conditional-statements where-clause


    【解决方案1】:

    您可以为此使用常规布尔逻辑:

    WHERE cond1 = sth1 AND
          cond2 = sth2 AND
          cond4 = sth4 AND
          (:flag <> 1 OR cond3 = sth3) 
    

    此表单假定:flag 不是NULL。可以对其进行调整以处理这种情况。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-08-10
      • 2021-01-07
      • 1970-01-01
      • 1970-01-01
      • 2019-11-16
      • 1970-01-01
      • 1970-01-01
      • 2021-08-30
      相关资源
      最近更新 更多