TO_ARRAY
TO_ARRAY
입력 표현식을 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)
- ARRAY_CONSTRUCT — 배열 생성
- STRTOK_TO_ARRAY — 토큰으로 분리해 배열 생성