【问题标题】:Replace AND operator with OR to get the same output用 OR 替换 AND 运算符以获得相同的输出
【发布时间】:2019-09-27 12:03:36
【问题描述】:

我有这个代码:

IF (x>5 AND y=4) THEN
    dbms_output.put_line("Y");
ELSE
    dbms_output.put_line("N");

我的问题是:如果你不能使用 AND 作为运算符,你如何更改代码,而必须使用 OR 才能具有相同的逻辑并获得相同的结果?

【问题讨论】:

  • OR 不会返回相同的结果,所以我不明白这个问题。
  • 我从我的高级同事那里收到了这个任务:你如何转换这个条件:x>5 AND y=4 if you can not use AND operator, but only OR

标签: sql boolean-algebra


【解决方案1】:

你可以使用德摩根定律来重写它:

NOT (p AND q) == (NOT p) OR (NOT q)

所以,在你的情况下

IF (x>5 AND y=4) THEN "Y" ELSE "N"
IF (x<=5 OR y<>4) THEN "N" ELSE "Y"

【讨论】:

    【解决方案2】:

    Or和AND运算符的逻辑完全不同,不能使用AND作为运算符,而是必须使用OR才能具有相同的逻辑并得到相同的结果。

    【讨论】:

      【解决方案3】:

      如果你把这行改成这样,它只适用于 OR 运算符:

      IF (x

      结果相同,但逻辑略有不同。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-02-26
        • 1970-01-01
        • 2014-09-08
        • 2014-02-24
        • 1970-01-01
        相关资源
        最近更新 更多