ARRAY_COMPACT

ARRAY_COMPACT (배열 압축)

누락된 값과 null 값을 제거한 압축된 배열을 반환해, 희소 배열(sparse arrays)을 효과적으로 밀집 배열(dense arrays)로 변환해요.

출처: Snowflake SQL Reference - ARRAY_COMPACT

본문

구문

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

더 알아보기