Перейти к содержимому
Последнее обновление

ARRAY_MATCH_ALL

Описание​

Возвращает true, если все элементы массива удовлетворяют заданному условию, и false в противном случае. Если массив содержит элементы NULL и все элементы, отличные от NULL, удовлетворяют условию, возвращает NULL.

Синтаксис​

array_match_all(lambda, <arr> [, <arr> ...])

Параметры​

  • lambda: Лямбда-выражение, задающее условие для проверки каждого элемента
  • <arr>: Один или несколько массивов для проверки. Лямбда-функция применяется к каждому элементу этих массивов

Возвращаемое значение​

Возвращает логическое значение, допускающее NULL:

  • true, если все элементы массива удовлетворяют условию
  • false, если хотя бы один элемент массива не удовлетворяет условию
  • NULL, если массив содержит элементы NULL и все элементы, отличные от NULL, удовлетворяют условию

Примеры​

-- Check if all numbers in array are greater than 5
mysql> SELECT array_match_all(x -> x > 5, [1, 2, 3, 4, 7]);
+----------------------------------------------+
| array_match_all(x -> x > 5, [1, 2, 3, 4, 7]) |
+----------------------------------------------+
| 0 |
+----------------------------------------------+

-- Check if all numbers in array are greater than corresponding numbers in another array
mysql> SELECT array_match_all((x, i) -> x > i, [1, 2, 3, 4, 5], [1, 2, 3, 4, 7]);
+--------------------------------------------------------------------+
| array_match_all((x, i) -> x > i, [1, 2, 3, 4, 5], [1, 2, 3, 4, 7]) |
+--------------------------------------------------------------------+
| 0 |
+--------------------------------------------------------------------+

Примечания​

  1. Функция обрабатывает значения NULL следующим образом:

    • Если есть элементы NULL и все элементы, отличные от NULL, удовлетворяют условию, возвращает NULL
    • Если хотя бы один элемент, отличный от NULL, не удовлетворяет условию, возвращает false независимо от наличия элементов NULL
  2. Эту функцию удобно использовать для:

    • Проверки того, что все элементы массива соответствуют заданным критериям
    • Выполнения сложных операций с массивами в сочетании с другими функциями для работы с массивами