본문으로 건너뛰기
최종 수정: 에

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 |
+--------------------------------------------------------------------+

참고 사항​

  1. 이 함수는 NULL 값을 다음과 같이 처리합니다:

    • NULL 요소가 있고 NULL이 아닌 모든 요소가 조건을 만족하면 NULL을 반환합니다
    • NULL이 아닌 요소 중 하나라도 조건을 만족하지 않으면 NULL 요소의 유무와 관계없이 false를 반환합니다
  2. 이 함수는 다음과 같은 용도로 유용합니다:

    • 배열의 모든 요소가 특정 기준을 충족하는지 검증
    • 다른 배열 함수와 조합하여 복잡한 배열 연산 수행