Введение в модель данных SQL

Булевские выражения


К булевским выражениям относятся выражения, вырабатывающие значения булевского типа (напомним, что булевский тип языка SQL содержит три логических значения - true, false и unknown). Булевские выражения определяются следующими синтаксическими правилами:

boolean_value_expression ::= boolean_term | boolean_value_expression OR boolean_term boolean_term ::= boolean_factor | boolean_term AND boolean_factor boolean_factor ::= [ NOT ] boolean_test boolean_test ::= boolean_primary [ IS [ NOT ] truth_value ] truth_value ::= TRUE | FALSE | UNKNOWN boolean_primary ::= predicate | (boolean_value_expression) | value_expression_primary

Выражения вычисляются слева направо с учетом приоритетов операций (наиболее высокий приоритет имеет унарная операция NOT, следующим уровнем приоритета обладает "мультипликативная" операция конъюнкции AND, и самый низкий приоритет у "аддитивной" операции дизъюнкции OR) и круглых скобок. Операции IS и IS NOT определяются следующими таблицами истинности:

ISTRUEFALSEUNKNOWNTRUEFALSEUNKNOWN
TRUEFALSEFALSE
FALSETRUEFALSE
FALSEFALSETRUE
IS NOTTRUEFALSEUNKNOWNTRUEFALSEUNKNOWN
FALSETRUETRUE
TRUEFALSETRUE
TRUETRUEFALSE



Содержание  Назад  Вперед