Последнее обновление
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 |
+--------------------------------------------------------------------+
Примечания
-
Функция обрабатывает значения NULL следующим образом:
- Если есть элементы NULL и все элементы, отличные от NULL, удовлетворяют условию, возвращает NULL
- Если хотя бы один элемент, отличный от NULL, не удовлетворяет условию, возвращает false независимо от наличия элементов NULL
-
Эту функцию удобно использовать для:
- Проверки того, что все элементы массива соответствуют заданным критериям
- Выполнения сложных операций с массивами в сочетании с другими функциями для работы с массивами