Логические операторы#

Оператор

Описание

Пример

AND

Истина, если оба значения истинны

a AND b

OR

Истина, если любое значение истинно

a OR b

NOT

Истина, если значение ложно

NOT a

Влияние NULL на логические операторы#

Оператор AND возвращает NULL, если один из аргументов равен NULL, а другой аргумент равен NULL или TRUE:

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

Оператор OR возвращает NULL, если один из аргументов равен NULL, а другой аргумент равен NULL или FALSE:

SELECT CAST(null AS boolean) OR true; -- true

SELECT CAST(null AS boolean) OR false; -- null

SELECT CAST(null AS boolean) OR CAST(null AS boolean); -- null

Таблица истинности 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

NOT NULL возвращает NULL:

SELECT NOT CAST(null AS boolean); -- null

Таблица истинности NOT:

a

NOT a

TRUE

FALSE

FALSE

TRUE

NULL

NULL