- ์นดํ ๊ณ ๋ฆฌ:
๋ฐ์ ํ ๋ฐ ์ ํ ๋ฐ์ดํฐ ํจ์ (๋ฐฐ์ด/์ค๋ธ์ ํธ)
ARRAY_CONSTRUCTยถ
0๊ฐ, 1๊ฐ ๋๋ ๊ทธ ์ด์์ ์ ๋ ฅ๊ฐ์ผ๋ก ์์ฑ๋ ๋ฐฐ์ด์ ๋ฐํํฉ๋๋ค.
๋ฐฐ์ด์ ์์ฑํ๊ณ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์์ธํ ๋ด์ฉ์ ARRAY ์น์ ์ ์ฐธ์กฐํ์ญ์์ค.
- ์ฐธ๊ณ ํญ๋ชฉ:
๊ตฌ๋ฌธยถ
ARRAY_CONSTRUCT( [ <expr1> ] [ , <expr2> [ , ... ] ] )
์ธ์ยถ
์ธ์๋ ๊ฐ(๋๋ ๊ฐ์ผ๋ก ํ๊ฐ๋๋ ์)์ ๋๋ค. ์ธ์ ๊ฐ์ ๋ค์ํ ๋ฐ์ดํฐ ํ์ ์ด ๋ ์ ์์ต๋๋ค.
๋ฐํยถ
๋ฐํ๋ ๊ฐ์ ๋ฐ์ดํฐ ํ์ ์ ARRAY์ ๋๋ค.
์ฌ์ฉ๋ฒ ๋ ธํธยถ
ํจ์๊ฐ
N
๊ฐ์ ์ธ์๋ก ํธ์ถ๋ ๊ฒฝ์ฐ, ๊ฒฐ๊ณผ ๋ฐฐ์ด์ ํฌ๊ธฐ๋N
์ ๋๋ค.๋ง์ ์ํฉ์์ ARRAY_CONSTRUCT ํจ์ ๋์ ARRAY ์์ (๋๋ ARRAY ๋ฆฌํฐ๋ด ์ด๋ผ๊ณ ๋ ํจ)๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋ฐฐ์ด์๋ SQL NULL ๊ฐ๊ณผ JSON null ๊ฐ์ด ๋ชจ๋ ํฌํจ๋ ์ ์์ต๋๋ค. ์์ธํ ๋ด์ฉ์ NULL ๊ฐ ์น์ ์ ์ฐธ์กฐํ์ญ์์ค.
์ยถ
์ซ์ ๋ฐ์ดํฐ ํ์ ์ผ๋ก ๊ตฌ์ฑ๋ ๊ธฐ๋ณธ ๋ฐฐ์ด์ ๊ตฌ์ฑํฉ๋๋ค.
SELECT ARRAY_CONSTRUCT(10, 20, 30);
+-----------------------------+
| ARRAY_CONSTRUCT(10, 20, 30) |
|-----------------------------|
| [ |
| 10, |
| 20, |
| 30 |
| ] |
+-----------------------------+
SQL NULL ๊ฐ(undefined
)๊ณผ JSON null ๊ฐ(null
)์ ํฌํจํ ๋ค์ํ ๋ฐ์ดํฐ ํ์
์ผ๋ก ๊ตฌ์ฑ๋ ๊ธฐ๋ณธ ๋ฐฐ์ด์ ๊ตฌ์ฑํฉ๋๋ค.
SELECT ARRAY_CONSTRUCT(NULL, PARSE_JSON('null'), 'hello', 3::DOUBLE, 4, 5);
+---------------------------------------------------------------------+
| ARRAY_CONSTRUCT(NULL, PARSE_JSON('NULL'), 'HELLO', 3::DOUBLE, 4, 5) |
|---------------------------------------------------------------------|
| [ |
| undefined, |
| null, |
| "hello", |
| 3.000000000000000e+00, |
| 4, |
| 5 |
| ] |
+---------------------------------------------------------------------+
๋น ๋ฐฐ์ด์ ๊ตฌ์ฑํฉ๋๋ค.
SELECT ARRAY_CONSTRUCT();
+-------------------+
| ARRAY_CONSTRUCT() |
|-------------------|
| [] |
+-------------------+
ํ ์ด๋ธ์ ๋ง๋ค๊ณ ARRAY ์ด์ ๋ฐฐ์ด์ ์ฝ์ ํฉ๋๋ค.
CREATE OR REPLACE TABLE construct_array_example (id INT, array_column ARRAY);
INSERT INTO construct_array_example (id, array_column)
SELECT 1,
ARRAY_CONSTRUCT(1, 2, 3);
INSERT INTO construct_array_example (id, array_column)
SELECT 2,
ARRAY_CONSTRUCT(4, 5, 6);
INSERT INTO construct_array_example (id, array_column)
SELECT 3,
ARRAY_CONSTRUCT(7, 8, 9);
SELECT * FROM construct_array_example;
+----+--------------+
| ID | ARRAY_COLUMN |
|----+--------------|
| 1 | [ |
| | 1, |
| | 2, |
| | 3 |
| | ] |
| 2 | [ |
| | 4, |
| | 5, |
| | 6 |
| | ] |
| 3 | [ |
| | 7, |
| | 8, |
| | 9 |
| | ] |
+----+--------------+