Кванторные функции

     

Функции EVERY, ANY, SOME выполняют проверку истинности набора логических значений.

Синтаксические правила
  1. < Значимое выражение > в аргументе должно быть логическим типом данных или приводиться к нему.

  2. Функция SOME является синонимом функции ANY.

Общие правила
  1. Функция EVERY возвращает значение TRUE, если выражение проверки истинно для всех значений < значимого выражения >, иначе – FALSE.

  2. Функция ANY (SOME) возвращает значение FALSE, если выражение проверки ложно для всех значений < значимого выражения >, иначе – TRUE.

  3. NULL-значения при вычислении значения функций пропускаются (не учитываются).

Примеры
create or replace table test(i int, b boolean);
insert into test values (1, true);
insert into test values (1, true);
insert into test values (2, true);
insert into test values (2, false);
insert into test values (3, false);
insert into test values (4, true);
insert into test values (4, NULL);
insert into test values (5, NULL);
insert into test values (5, true);
insert into test values (6, NULL);

select every(b) from test where i = 1;
|    T|

select every(case when i  > 5 then true else false end) from test where i = 6;
|    T|

select any(b) from test where i = 1;
|    T|

select some(case when i  > 6 then true else false end) from test where i = 6;
|    F|