카테고리:

반정형 및 정형 데이터 함수 (배열/오브젝트)

ARRAY_TO_STRING

모든 값을 문자열로 캐스팅하고(TO_VARCHAR 사용) 연결하여(요소를 구분하기 위해 두 번째 인자의 문자열 사용) 문자열로 변환된 입력 배열을 반환합니다.

구문

ARRAY_TO_STRING( <array> , <separator_string> )
Copy

인자

array

문자열로 변환할 요소의 배열입니다.

separator_string

각 요소 사이에 넣을 문자열로, 일반적으로 공백, 쉼표 또는 사람이 읽을 수 있는 기타 구분 기호입니다.

반환

이 함수는 VARCHAR 형식의 값을 반환합니다.

사용법 노트

  • NULL 인자는 결과로서 NULL을 반환합니다.

  • 배열의 NULL은 결과에서 빈 문자열로 변환됩니다.

  • 값 사이에 공백을 포함하려면 공백 앞에 구분 기호(예: ', ')를 사용해야 합니다. 아래의 예를 참조하십시오.

다양한 배열을 연결된 문자열로 반환합니다.

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]');
Copy
+-----------------------------------------------+---------------------------------+-------------------------------------------+
| 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']);
Copy

배열을 연결된 문자열로 반환합니다.

SELECT a,
       ARRAY_TO_STRING(a, ''),
       ARRAY_TO_STRING(a, ', ')
  FROM test_array_to_string_with_null;
Copy
+--------------+------------------------+--------------------------+
| A            | ARRAY_TO_STRING(A, '') | ARRAY_TO_STRING(A, ', ') |
|--------------+------------------------+--------------------------|
| [            | AB                     | A, , B                   |
|   "A",       |                        |                          |
|   undefined, |                        |                          |
|   "B"        |                        |                          |
| ]            |                        |                          |
+--------------+------------------------+--------------------------+