| Документация по PostgreSQL 9.4.1 | |||
|---|---|---|---|
| Пред. | Уровень выше | Глава 9. Функции и операторы | След. |
9.1. Логические операторы
Набор логических операторов включает обычные:
| AND |
| OR |
| NOT |
В SQL работает логическая система с тремя состояниями: true (истина), false (ложь) и NULL, "неопределённое" состояние. Рассмотрите следующие таблицы истинности:
| 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 |
Операторы AND и OR коммутативны, то есть от перемены мест операндов результат не меняется. Однако значение может иметь порядок вычисления подвыражений. Подробнее это описано в Подразделе 4.2.14.
| Пред. | Начало | След. |
| Функции и операторы | Уровень выше | Операторы сравнения |
| PostgreSQL 9.4.1 Documentation | |||
|---|---|---|---|
| Prev | Up | Chapter 9. Functions and Operators | Next |
9.1. Logical Operators
The usual logical operators are available:
| AND |
| OR |
| NOT |
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 |
The operators AND and OR are commutative, that is, you can switch the left and right operand without affecting the result. But see Section 4.2.14 for more information about the order of evaluation of subexpressions.