ARRAY_TO_STRING
ARRAY_TO_STRING
입력 배열의 모든 값을 TO_VARCHAR로 문자열로 캐스팅하고, 두 번째 인자의 문자열로 요소를 구분해 이어붙인 문자열을 돌려주는 함수예요.
출처: 공식 문서
본문
모든 값을 문자열로 캐스팅하고(TO_VARCHAR 사용) 두 번째 인자의 문자열을 사용해 요소를 구분하며 이어붙여(concatenate) 문자열로 변환된 입력 배열을 반환합니다.
구문 (Syntax)
ARRAY_TO_STRING( <array> , <separator_string> )
인자 (Arguments)
array
문자열로 변환할 요소들의 배열입니다.
separator_string
각 요소 사이에 넣을 문자열로, 보통 공백, 쉼표 또는 다른 사람이 읽을 수 있는 구분자입니다.
반환값 (Returns)
이 함수는 VARCHAR 타입의 값을 반환합니다.
사용 참고 (Usage notes)
- NULL 인자는 결과로 NULL을 반환합니다.
- 배열 안의 NULL은 결과에서 빈 문자열로 변환됩니다.
- 값 사이에 공백을 포함하려면 구분자 문자 뒤에 공백을 붙여야 합니다(예:
', '). 아래 예제를 참고하세요.
예제 (Examples)
다양한 배열을 이어붙인 문자열로 반환합니다:
SELECT column1,
ARRAY_TO_STRING(PARSE_JSON(column1), '') AS no_separation,
ARRAY_TO_STRING(PARSE_JSON(column1), ', ') AS comma_separated
FROM VALUES
(NULL),
('[]'),
('[1]'),
('[1, 2]'),
('[true, 1, -1.2e-3, "Abc", ["x","y"], {"a":1}]'),
('[, 1]'),
('[1, ]'),
('[1, , ,2]');
+-----------------------------------------------+---------------------------------+-------------------------------------------+
| COLUMN1 | NO_SEPARATION | COMMA_SEPARATED |
|-----------------------------------------------+---------------------------------+-------------------------------------------|
| NULL | NULL | NULL |
| [] | | |
| [1] | 1 | 1 |
| [1, 2] | 12 | 1, 2 |
| [true, 1, -1.2e-3, "Abc", ["x","y"], {"a":1}] | true1-0.0012Abc["x","y"]{"a":1} | true, 1, -0.0012, Abc, ["x","y"], {"a":1} |
| [, 1] | 1 | , 1 |
| [1, ] | 1 | 1, |
| [1, , ,2] | 12 | 1, , , 2 |
+-----------------------------------------------+---------------------------------+-------------------------------------------+
이 예제는 NULL 값을 포함하는 배열을 이어붙인 문자열로 반환합니다. 먼저 테이블을 만들고 배열을 삽입합니다:
CREATE TABLE test_array_to_string_with_null(a ARRAY);
INSERT INTO test_array_to_string_with_null
SELECT (['A', NULL, 'B']);
배열을 이어붙인 문자열로 반환합니다:
SELECT a,
ARRAY_TO_STRING(a, ''),
ARRAY_TO_STRING(a, ', ')
FROM test_array_to_string_with_null;
+--------------+------------------------+--------------------------+
| A | ARRAY_TO_STRING(A, '') | ARRAY_TO_STRING(A, ', ') |
|--------------+------------------------+--------------------------|
| [ | AB | A, , B |
| "A", | | |
| undefined, | | |
| "B" | | |
| ] | | |
+--------------+------------------------+--------------------------+
더 알아보기 (Learn more)
- TO_VARCHAR — 값을 문자열로 변환
- ARRAY_CONSTRUCT — 배열 만들기
- 반구조화 데이터 함수