Поделиться через


предикат in

Возвращает true, если elem равно любой exprN или строке в query.

Синтаксис

elem in ( expr1 [, ...] )
elem in ( query )

Аргументы

  • elem: выражение любого сравнимого типа.
  • exprN: выражение произвольного типа, обладающее наименьшим общим типом со всеми остальными аргументами.
  • query: любой запрос . Результат должен совместно использовать наименее распространенный тип с elem. Если запрос возвращает больше одного column,elem должен быть кортежем (структура) с таким же количеством полей.

Возвращает

Результат является булевым значением.

Примеры

> SELECT 1 in(1, 2, 3);
 true
> SELECT 1 in(2, 3, 4);
 false
> SELECT (1, 2) IN ((1, 2), (2, 3));
 true
> SELECT named_struct('a', 1, 'b', 2) in(named_struct('a', 1, 'b', 1), named_struct('a', 1, 'b', 3));
 false
> SELECT named_struct('a', 1, 'b', 2) in(named_struct('a', 1, 'b', 2), named_struct('a', 1, 'b', 3));
 true
> SELECT 1 IN (SELECT * FROM VALUES(1), (2));
 true;
> SELECT (1, 2) IN (SELECT c1, c2 FROM VALUES(1, 2), (3, 4) AS T(c1, c2));
 true;