Последнее обновление
array_match_any
Описание
Возвращает true, если хотя бы один элемент массива удовлетворяет заданному условию, и false в противном случае. Если массив содержит элементы NULL, а все элементы, отличные от NULL, имеют значение false, возвращает NULL.
Синтаксис
array_match_any(lambda, <arr> [, <arr> ...])
Параметры
lambda: Лямбда-выражение, задающее условие проверки каждого элемента<arr>: Один или несколько массивов для проверки. Лямбда-функция применяется к каждому элементу этих массивов
Возвращаемое значение
Возвращает логическое значение, допускающее NULL:
true, если хотя бы один элемент массива удовлетворяет условиюfalse, если ни один элемент массива не удовлетворяет условиюNULL, если массив содержит элементы NULL и ни один элемент, отличный от NULL, не удовлетворяет условию
Примеры
-- Check if any number in array is greater than 5
mysql> SELECT array_match_any(x -> x > 5, [1, 2, 3, 4, 7]);
+----------------------------------------------+
| array_match_any(x -> x > 5, [1, 2, 3, 4, 7]) |
+----------------------------------------------+
| 1 |
+----------------------------------------------+
-- Check if any number in array is greater than corresponding numbers in another array
mysql> SELECT array_match_any((x, i) -> x > i, [1, 2, 3, 4, 5], [1, 2, 3, 4, 7]);
+--------------------------------------------------------------------+
| array_match_any((x, i) -> x > i, [1, 2, 3, 4, 5], [1, 2, 3, 4, 7]) |
+--------------------------------------------------------------------+
| 0 |
+--------------------------------------------------------------------+
mysql> SELECT array_match_any((x, i) -> i > x, [1, 2, 3, 4, 5], [1, 2, 3, 4, 7]);
+--------------------------------------------------------------------+
| array_match_any((x, i) -> i > x, [1, 2, 3, 4, 5], [1, 2, 3, 4, 7]) |
+--------------------------------------------------------------------+
| 1 |
+--------------------------------------------------------------------+
Примечания
-
Функция обрабатывает значения NULL следующим образом:
- Если массив содержит элементы NULL и ни один элемент, отличный от NULL, не удовлетворяет условию, возвращает NULL
- Если хотя бы один элемент, отличный от NULL, удовлетворяет условию, возвращает true независимо от наличия элементов NULL
-
Эта функция полезна для:
- Проверки того, удовлетворяет ли хотя бы один элемент массива заданным критериям
- Выполнения сложных операций с массивами в сочетании с другими функциями для работы с массивами