- ์นดํ ๊ณ ๋ฆฌ:
๋ฐ์ ํ ๋ฐ ์ ํ ๋ฐ์ดํฐ ํจ์ (๋ฐฐ์ด/์ค๋ธ์ ํธ)
ARRAY_TO_STRINGยถ
๋ชจ๋ ๊ฐ์ ๋ฌธ์์ด๋ก ์บ์คํ ํ๊ณ (TO_VARCHAR ์ฌ์ฉ) ์ฐ๊ฒฐํ์ฌ(์์๋ฅผ ๊ตฌ๋ถํ๊ธฐ ์ํด ๋ ๋ฒ์งธ ์ธ์์ ๋ฌธ์์ด ์ฌ์ฉ) ๋ฌธ์์ด๋ก ๋ณํ๋ ์ ๋ ฅ ๋ฐฐ์ด์ ๋ฐํํฉ๋๋ค.
๊ตฌ๋ฌธยถ
ARRAY_TO_STRING( <array> , <separator_string> )
์ธ์ยถ
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]');
+-----------------------------------------------+---------------------------------+-------------------------------------------+
| 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" | | |
| ] | | |
+--------------+------------------------+--------------------------+