TO_ARRAY

TO_ARRAY

입력 표현식을 ARRAY 값으로 변환해요.

출처: Snowflake SQL Reference - TO_ARRAY

본문

구문

TO_ARRAY( expr )

인자

expr 모든 데이터 타입의 표현식이에요.

반환 값

이 함수는 ARRAY 또는 NULL 타입의 값을 반환해요:

  • 입력이 ARRAY이거나 ARRAY 값을 포함한 VARIANT이면 값이 변경 없이 반환돼요.
  • expr이 NULL 또는 JSON null 값이면 함수는 NULL을 반환해요.
  • 그 외의 다른 값이면 반환되는 값은 이 값을 포함하는 단일 요소 배열(single-element array)이에요.

사용 시 유의사항

한 요소보다 많은 배열을 만들려면 ARRAY_CONSTRUCT 또는 STRTOK_TO_ARRAY를 사용할 수 있어요.

예시

테이블을 만들고 TO_ARRAY 함수를 호출하여 데이터를 삽입해요:

CREATE OR REPLACE TABLE array_demo_2 (
  ID INTEGER,
  array1 ARRAY,
  array2 ARRAY);

INSERT INTO array_demo_2 (ID, array1, array2)
  SELECT 1, TO_ARRAY(1), TO_ARRAY(3);

SELECT * FROM array_demo_2;
+----+--------+--------+
| ID | ARRAY1 | ARRAY2 |
|----+--------+--------|
|  1 | [      | [      |
|    |   1    |   3    |
|    | ]      | ]      |
+----+--------+--------+

삽입 중에 만들어진 단일 요소 배열과, 두 배열을 연결하기 위해 ARRAY_CAT을 호출한 결과를 보여주는 쿼리를 실행해요:

SELECT array1, array2, ARRAY_CAT(array1, array2)
  FROM array_demo_2;
+--------+--------+---------------------------+
| ARRAY1 | ARRAY2 | ARRAY_CAT(ARRAY1, ARRAY2) |
|--------+--------+---------------------------|
| [      | [      | [                         |
|   1    |   3    |   1,                      |
| ]      | ]      |   3                       |
|        |        | ]                         |
+--------+--------+---------------------------+

이 예시는 입력 표현식에 구분 기호(예: 쉼표)가 포함되어 있어도 TO_ARRAY가 문자열 입력 표현식을 단일 요소를 가진 배열로 변환한다는 것을 보여줘요:

SELECT TO_ARRAY(snowman,snowball,snowcone) AS to_array_result;
+-------------------------------+
| TO_ARRAY_RESULT               |
|-------------------------------|
| [                             |
|   snowman,snowball,snowcone |
| ]                             |
+-------------------------------+

같은 문자열 입력 표현식을 여러 요소를 가진 배열로 변환하려면 STRTOK_TO_ARRAY 함수를 사용할 수 있어요:

SELECT STRTOK_TO_ARRAY(snowman,snowball,snowcone, ,) AS strtok_to_array_result;
+------------------------+
| STRTOK_TO_ARRAY_RESULT |
|------------------------|
| [                      |
|   snowman,           |
|   snowball,          |
|   snowcone           |
| ]                      |
+------------------------+

더 알아보기 (Learn more)