ARRAY_CONSTRUCT

ARRAY_CONSTRUCT

ARRAY_CONSTRUCT() 함수는 0개, 1개 또는 그 이상의 입력으로 구성된 배열을 반환해요.

배열 구성과 사용에 대한 자세한 내용은 ARRAY 문서를 참고하세요.

출처: Snowflake SQL Reference

본문

문법

ARRAY_CONSTRUCT( [ <expr1> ] [ , <expr2> [ , ... ] ] )

인자

인자는 값(또는 값으로 평가되는 표현식)이에요. 인자 값의 데이터 타입은 서로 달라도 돼요.

반환

반환 값의 데이터 타입은 ARRAY예요.

사용 노트

  • 함수를 N개의 인자로 호출하면 결과 배열의 크기는 N이에요.
  • 많은 상황에서 ARRAY_CONSTRUCT 함수 대신 ARRAY 상수(ARRAY 리터럴이라고도 함)를 사용할 수 있어요.
  • 배열은 SQL NULL 값과 JSON null 값 모두 포함할 수 있어요. 자세한 내용은 NULL 값 문서를 참고하세요.

예제

숫자 데이터 타입으로 구성된 기본 배열을 만들어요:

SELECT ARRAY_CONSTRUCT(10, 20, 30);
+-----------------------------+
| ARRAY_CONSTRUCT(10, 20, 30) |
|-----------------------------|
| [                           |
|   10,                       |
|   20,                       |
|   30                        |
| ]                           |
+-----------------------------+

SQL NULL 값(undefined)과 JSON null 값(null)을 포함한 서로 다른 데이터 타입으로 구성된 기본 배열을 만들어요:

SELECT ARRAY_CONSTRUCT(NULL, PARSE_JSON('null'), 'hello', 3::DOUBLE, 4, 5);
+---------------------------------------------------------------------+
| ARRAY_CONSTRUCT(NULL, PARSE_JSON('NULL'), 'HELLO', 3::DOUBLE, 4, 5) |
|---------------------------------------------------------------------|
| [                                                                   |
|   undefined,                                                        |
|   null,                                                             |
|   "hello",                                                          |
|   3.000000000000000e+00,                                            |
|   4,                                                                |
|   5                                                                 |
| ]                                                                   |
+---------------------------------------------------------------------+

빈 배열을 만들어요:

SELECT ARRAY_CONSTRUCT();
+-------------------+
| ARRAY_CONSTRUCT() |
|-------------------|
| []                |
+-------------------+

테이블을 만들고 ARRAY 열에 배열을 넣어요:

CREATE OR REPLACE TABLE construct_array_example (id INT, array_column ARRAY);

INSERT INTO construct_array_example (id, array_column)
  SELECT 1,
         ARRAY_CONSTRUCT(1, 2, 3);

INSERT INTO construct_array_example (id, array_column)
  SELECT 2,
         ARRAY_CONSTRUCT(4, 5, 6);

INSERT INTO construct_array_example (id, array_column)
  SELECT 3,
         ARRAY_CONSTRUCT(7, 8, 9);

SELECT * FROM construct_array_example;
+----+--------------+
| ID | ARRAY_COLUMN |
|----+--------------|
|  1 | [            |
|    |   1,         |
|    |   2,         |
|    |   3          |
|    | ]            |
|  2 | [            |
|    |   4,         |
|    |   5,         |
|    |   6          |
|    | ]            |
|  3 | [            |
|    |   7,         |
|    |   8,         |
|    |   9          |
|    | ]            |
+----+--------------+

더 알아보기 (Learn more)