- 카테고리:
반정형 및 정형 데이터 함수 (배열/오브젝트)
ARRAY_DISTINCT¶
입력 ARRAY 에서 고유한 요소만 포함된 새 ARRAY를 반환합니다. 이 함수는 입력 ARRAY에 있는 모든 중복 요소를 제외합니다.
이 함수는 특정 순서로 ARRAY의 요소를 반환한다고 보장하지 않습니다.
이 함수는 NULL에 안전합니다. 즉, 중복 요소를 식별할 때 NULL을 알려진 값으로 처리한다는 의미입니다.
구문¶
ARRAY_DISTINCT( <array> )
인자¶
array
제거할 중복 요소를 포함할 수 있는 배열입니다.
반환¶
이 함수는 중복 요소 없이 입력 배열의 요소를 포함하는 ARRAY를 반환합니다. 예를 들어, 값 'x'
가 입력 ARRAY에 여러 번 나타나는 경우 반환되는 ARRAY에서 한 요소에만 값 'x'
가 있습니다.
입력 인자가 NULL인 경우 이 함수는 NULL을 반환합니다.
반환된 배열 내 값의 순서는 지정되지 않습니다.
사용법 노트¶
예¶
다음 예제에서는 함수가 입력 ARRAY 상수 에서 중복 요소 A
와 NULL
없이 ARRAY를 반환하는 방법을 보여줍니다.
SELECT ARRAY_DISTINCT(['A', 'A', 'B', NULL, NULL]);
+---------------------------------------------+
| ARRAY_DISTINCT(['A', 'A', 'B', NULL, NULL]) |
|---------------------------------------------|
| [ |
| "A", |
| "B", |
| undefined |
| ] |
+---------------------------------------------+
다음 예제에서는 ARRAY 대신 NULL 을 전달하면 NULL을 반환하는 방법을 보여줍니다.
SELECT ARRAY_DISTINCT(NULL);
+----------------------+
| ARRAY_DISTINCT(NULL) |
|----------------------|
| NULL |
+----------------------+
다음 예제에서는 함수가 입력 ARRAY의 요소인 중복 OBJECT를 제거하는 방법을 보여줍니다. 이 예제에서는 OBJECT 상수 및 ARRAY 상수를 사용하여 OBJECT와 ARRAY를 생성합니다.
SELECT ARRAY_DISTINCT( [ {'a': 1, 'b': 2}, {'a': 1, 'b': 2}, {'a': 1, 'b': 3} ] );
+----------------------------------------------------------------------------+
| ARRAY_DISTINCT( [ {'A': 1, 'B': 2}, {'A': 1, 'B': 2}, {'A': 1, 'B': 3} ] ) |
|----------------------------------------------------------------------------|
| [ |
| { |
| "a": 1, |
| "b": 2 |
| }, |
| { |
| "a": 1, |
| "b": 3 |
| } |
| ] |
+----------------------------------------------------------------------------+
이 예제에 표시된 것처럼, b
가 다른 값(2
가 아니라 3
)을 가지므로 마지막 요소는 중복으로 간주되지 않습니다.