================= Logical Operators ================= Logical Operators ----------------- ======== ============================ ======= Operator Description Example ======== ============================ ======= ``AND`` True if both values are true a AND b ``OR`` True if either value is true a OR b ``NOT`` True if the value is false NOT a ======== ============================ ======= Effect of NULL on Logical Operators ----------------------------------- The result of an ``AND`` comparison may be ``NULL`` if one or both sides of the expression are ``NULL``. If at least one side of an ``AND`` operator is ``FALSE`` the expression evaluates to ``FALSE``:: SELECT CAST(null AS boolean) AND true; -- null SELECT CAST(null AS boolean) AND false; -- false SELECT CAST(null AS boolean) AND CAST(null AS boolean); -- null The result of an ``OR`` comparison may be ``NULL`` if one or both sides of the expression are ``NULL``. If at least one side of an ``OR`` operator is ``TRUE`` the expression evaluates to ``TRUE``:: SELECT CAST(null AS boolean) OR CAST(null AS boolean); -- null SELECT CAST(null AS boolean) OR false; -- null SELECT CAST(null AS boolean) OR true; -- true The following truth table demonstrates the handling of ``NULL`` in ``AND`` and ``OR``: ========= ========= ========= ========= a b a AND b a OR b ========= ========= ========= ========= ``TRUE`` ``TRUE`` ``TRUE`` ``TRUE`` ``TRUE`` ``FALSE`` ``FALSE`` ``TRUE`` ``TRUE`` ``NULL`` ``NULL`` ``TRUE`` ``FALSE`` ``TRUE`` ``FALSE`` ``TRUE`` ``FALSE`` ``FALSE`` ``FALSE`` ``FALSE`` ``FALSE`` ``NULL`` ``FALSE`` ``NULL`` ``NULL`` ``TRUE`` ``NULL`` ``TRUE`` ``NULL`` ``FALSE`` ``FALSE`` ``NULL`` ``NULL`` ``NULL`` ``NULL`` ``NULL`` ========= ========= ========= ========= The logical complement of ``NULL`` is ``NULL`` as shown in the following example:: SELECT NOT CAST(null AS boolean); -- null The following truth table demonstrates the handling of ``NULL`` in ``NOT``: ========= ========= a NOT a ========= ========= ``TRUE`` ``FALSE`` ``FALSE`` ``TRUE`` ``NULL`` ``NULL`` ========= =========