9.1. Logical Operators
The usual logical operators are available:
boolean AND boolean → boolean boolean OR boolean → boolean NOT boolean → boolean
SQL uses a three-valued logic system with true, false, and null
, which represents “unknown”. Observe the following truth tables:
a | b |
a AND b
|
a OR b
|
---|---|---|---|
TRUE | TRUE | TRUE | TRUE |
TRUE | FALSE | FALSE | TRUE |
TRUE | NULL | NULL | TRUE |
FALSE | FALSE | FALSE | FALSE |
FALSE | NULL | FALSE | NULL |
NULL | NULL | NULL | NULL |
a | NOT a
|
---|---|
TRUE | FALSE |
FALSE | TRUE |
NULL | NULL |
The operators AND
and OR
are commutative, that is, you can switch the left and right operands without affecting the result. (However, it is not guaranteed that the left operand is evaluated before the right operand. See Section 4.2.14 for more information about the order of evaluation of subexpressions.)
© 1996–2021 The PostgreSQL Global Development Group
Licensed under the PostgreSQL License.
https://www.postgresql.org/docs/13/functions-logical.html