최종 수정: 에
array_match_any
설명
배열의 요소 중 하나라도 주어진 조건을 만족하면 true를 반환하고, 그렇지 않으면 false를 반환합니다. 배열에 NULL 요소가 있고 NULL이 아닌 모든 요소가 false이면 NULL을 반환합니다.
구문
array_match_any(lambda, <arr> [, <arr> ...])
매개변수
lambda: 각 요소에 대해 검사할 조건을 정의하는 lambda 표현식입니다.<arr>: 검사할 하나 이상의 배열입니다. lambda 함수는 이 배열들의 각 요소에 적용됩니다.
반환 값
NULL을 허용하는 boolean 값을 반환합니다:
- 배열의 요소 중 하나라도 조건을 만족하면
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이 아닌 요소 중 하나라도 조건을 만족하면 NULL 요소의 유무와 관계없이 true를 반환합니다.
-
이 함수는 다음과 같은 경우에 유용합니다:
- 배열의 요소 중 하나라도 특정 기준을 충족하는지 확인할 때
- 다른 배열 함수와 결합하여 복잡한 배열 연산을 수행할 때