ARRAY_COMPACT
ARRAY_COMPACT (배열 압축)
누락된 값과 null 값을 제거한 압축된 배열을 반환해, 희소 배열(sparse arrays)을 효과적으로 밀집 배열(dense arrays)로 변환해요.
본문
구문
ARRAY_COMPACT( <array1> )
인자
array1
원본 배열이에요.
사용상 주의사항
- 반구조적 데이터(예: JSON 데이터)는 SQL NULL과 구별되는 명시적 null 값을 포함할 수 있어요. 반구조적 데이터의 null 값은 누락된 값을 나타내요.
- array1은 ARRAY 데이터 타입 또는 배열 값을 포함하는 VARIANT 데이터 타입이어야 해요.
- 인자가 NULL이면 결과는 NULL이에요.
- 구조적 배열을 함수에 전달하면 함수는 같은 타입의 구조적 배열을 반환해요.
예시
이 예시는 ARRAY_COMPACT()를 사용하는 방법을 보여줘요:
테이블과 데이터 생성:
CREATE TABLE array_demo (ID INTEGER, array1 ARRAY, array2 ARRAY);
INSERT INTO array_demo (ID, array1, array2)
SELECT 2, ARRAY_CONSTRUCT(10, NULL, 30), ARRAY_CONSTRUCT(40);
쿼리 실행:
SELECT array1, ARRAY_COMPACT(array1) FROM array_demo WHERE ID = 2;
+--------------+-----------------------+
| ARRAY1 | ARRAY_COMPACT(ARRAY1) |
|--------------+-----------------------|
| [ | [ |
| 10, | 10, |
| undefined, | 30 |
| 30 | ] |
| ] | |
+--------------+-----------------------+
더 알아보기
- Semi-structured and structured data functions (Array/Object) — 배열/객체 함수 모음
- ARRAY_NULL — 배열 null 처리