将 AND 运算符替换为 OR 以获得相同的输出

Replace AND operator with OR to get the same output

我有这个代码:

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

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

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

你可以用德摩根定律改写:

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"

如果您将行更改为这样,它将仅与 OR 运算符一起使用:

IF (x<=5 OR y!=4) 然后 dbms_output.put_line("N");否则 dbms_output.put_line("Y");=

结果是一样的,只是逻辑略有不同。