ARRAY_CONTAINS 함수 - Amazon Redshift

Amazon Redshift는 패치 198부터 새 Python UDF 생성을 더 이상 지원하지 않습니다. 기존 Python UDF는 2026년 6월 30일까지 계속 작동합니다. 자세한 내용은 블로그 게시물을 참조하세요.

ARRAY_CONTAINS 함수

배열에 지정된 값이 포함되어 있는지 확인하고 발견된 경우 TRUE를 반환합니다.

구문

ARRAY_CONTAINS( array, value [, null_match] )

인수

배열

검색할 배열을 지정하는 SUPER 표현식입니다.

검색할 요소를 지정하는 값입니다.

null_match

Null 값을 처리하는 방법을 지정하는 부울 값입니다.

  • null_match = FALSE: NULL을 검색하면 NULL이 반환됩니다. 배열에 NULL 값이 포함되어 있고 NULL이 아닌 검색 값에 대해 일치하는 항목이 없는 경우에는 NULL을 반환합니다.

  • null_match = TRUE: NULL이 유효하고 검색 가능한 요소로 처리됩니다. 배열에 NULL 값이 포함되어 있고 NULL이 아닌 검색 값에 대해 일치하는 항목이 없는 경우에는 FALSE를 반환합니다.

기본값은 TRUE입니다.

기본 Null 처리는 구성 옵션에서도 지정할 수 있습니다.

-- same as null_match = TRUE SET default_array_search_null_handling to TRUE;

반환 타입

ARRAY_CONTAINS 함수는 BOOLEAN 유형을 반환합니다.

예제

다음 예제에서는 ARRAY_CONTAINS 함수를 보여 줍니다.

SELECT ARRAY_CONTAINS(ARRAY('red', 'green'), 'red'); array_contains ---------------- t (1 row)

다음 예제에서는 null_match가 TRUE로 설정된 함수 동작을 보여 줍니다.

SET default_array_search_null_handling to TRUE; -- NULL search is enabled SELECT ARRAY_CONTAINS(ARRAY('red', NULL, 'green'), NULL); array_contains ---------------- t (1 row) -- The array can contain NULLs SELECT ARRAY_CONTAINS(ARRAY('red', NULL, 'green'), 'blue', TRUE); array_contains ---------------- f (1 row)

다음 예제에서는 null_match가 FALSE로 설정된 함수 동작을 보여 줍니다. 함수에서 null_match 동작을 지정하면 기본 구성 설정이 재정의됩니다.

-- same as null_match = TRUE SET default_array_search_null_handling to TRUE; -- NULL search is disabled. The default behavior is overridden SELECT ARRAY_CONTAINS(ARRAY('red', 'green'), NULL, FALSE); array_contains ---------------- (1 row) -- same as null_match = FALSE SET default_array_search_null_handling to FALSE; -- The array contains NULL and a match is found SELECT ARRAY_CONTAINS(ARRAY('red', NULL, 'green'), 'green'); array_contains ---------------- t (1 row) -- The array contains NULL but no match is found SELECT ARRAY_CONTAINS(ARRAY('red', NULL, 'green'), 'blue'); array_contains ---------------- (1 row)

다음 사항도 참조하세요.