SQL中的双重否定 - NOT的含义(Food!=“Apple”)

时间:2016-12-12 17:02:57

标签: sql logic conceptual logic-programming

有双重否定意义的麻烦。

这些陈述是否相同?

  1. NOT(Food<>“Apple”AND NOT(Food =“Banana”))
  2. ===

    1. (Food =“Apple”AND Food =“Banana”)

1 个答案:

答案 0 :(得分:2)

您正在寻找De Morgan's laws

NOT( A OR B )  = NOT A AND NOT B
NOT( A AND B ) = NOT A OR  NOT B

所以第一句应该是:

NOT (Food <> "Apple" AND NOT (Food = "Banana"))
==> NOT (Food <> "Apple" AND Food <> "Banana")       -- SOLVE inner NOT
==> NOT (Food <> "Apple") OR NOT (Food <> "Banana")  -- MORGAN LAW
==> Food = "Apple" OR Food = "Banana"                -- APPLY NOT