ARRAY_EXCEPT 함수 - Amazon Redshift

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

ARRAY_EXCEPT 함수

두 번째 배열에 없는 첫 번째 배열의 요소를 유지하여 두 배열 간의 차이를 반환합니다. 함수는 Null 안전이므로 Null이 알려진 객체로 취급됩니다.

구문

ARRAY_EXCEPT( array1, array2 [, distinct] )

인수

array1

첫 번째 배열을 지정하는 SUPER 표현식입니다.

array2

두 번째 배열을 지정하는 SUPER 표현식입니다.

distinct

고유 요소만 반환할지 여부를 지정하는 부울 값입니다.

  • distinct = FALSE: 다중 세트 의미 체계가 적용됩니다. 첫 번째 배열의 각 요소 발생은 두 번째 배열의 발생과 일치합니다. 첫 번째 배열이 두 번째 배열보다 요소 발생 횟수가 많으면 추가 발생 횟수가 결과에 보존됩니다.

  • distinct = TRUE: 의미 체계 설정이 적용됩니다. 두 배열 모두 중복 요소를 무시하고 세트로 처리됩니다. 첫 번째 배열의 요소는 발생 횟수에 관계없이 두 번째 배열의 모든 위치에 있는 경우 제거됩니다.

기본값은 FALSE입니다.

반환 타입

ARRAY_EXCEPT 함수는 SUPER 형식을 반환합니다.

예제

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

SELECT ARRAY_EXCEPT(ARRAY('a','b','c'), ARRAY('b','c','d')); array_except -------------- ["a"] (1 row)

다중 세트 의미 체계:

SELECT ARRAY_EXCEPT(ARRAY('b','b','b','b'), ARRAY('b','b')); array_except -------------- ["b","b"] (1 row)

의미 체계 설정:

SELECT ARRAY_EXCEPT(ARRAY('a','b','b'), ARRAY('b'), TRUE); array_except -------------- ["a"] (1 row)

Null이 알려진 객체로 처리됩니다.

SELECT ARRAY_EXCEPT(ARRAY('a',NULL), ARRAY(NULL)); array_except -------------- ["a"] (1 row)

다음 사항도 참조하세요.