Логическое выражение

Функция

Определение логического выражения.

Спецификация

 
<​логический множитель​>::=
<​первичное логическое выражение​>::=

Общие правила

  1. Результатом <​логического выражения​> будет результат применения логических операций к тем условиям, которые получены при применении заданного <​предиката​> к данной строке таблицы или к данной группе в сгруппированной таблице. Если логические операции не заданы, то результатом <​логического выражения​> будет результат заданного <​предиката​>.

    select make from auto
     where not bodytype ='SEDAN'
       and (cylnders​>6 or weight between 3000 and 4000)
        or (color like 'В%' and not year=70);
  2. Результатом NOT (TRUE) является значение FALSE, результатом NOT (FALSE) – значение TRUE, результатом NOT (UNKNOWN) – значение UNKNOWN. Операции AND и OR определяются из таблиц истинности, приведенных ниже.

    Примечание

    Логическое значение UNKNOWN в данной версии СУБД ЛИНТЕР не поддерживается.

  3. Выражения внутри скобок вычисляются первыми. Если порядок вычислений не задан, приоритет операций следующий: NOT, AND, OR. Операции одинакового приоритета выполняются слева направо.

  4. Результаты выполнения операции AND:

    AND TRUEFALSEUNKNOWN
    TRUETRUEFALSEUNKNOWN
    FALSEFALSEFALSEFALSE
    UNKNOWNNULLFALSEUNKNOWN
  5. Результаты выполнения операции OR:

    OR TRUEFALSEUNKNOWN
    TRUETRUETRUETRUE
    FALSETRUEFALSEUNKNOWN
    UNKNOWNTRUEUNKNOWNUNKNOWN