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