์นดํ…Œ๊ณ ๋ฆฌ:

๋ฐ˜์ •ํ˜• ๋ฐ ์ •ํ˜• ๋ฐ์ดํ„ฐ ํ•จ์ˆ˜ (๋ฐฐ์—ด/์˜ค๋ธŒ์ ํŠธ)

ARRAY_CONSTRUCTยถ

0๊ฐœ, 1๊ฐœ ๋˜๋Š” ๊ทธ ์ด์ƒ์˜ ์ž…๋ ฅ๊ฐ’์œผ๋กœ ์ƒ์„ฑ๋œ ๋ฐฐ์—ด์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

๋ฐฐ์—ด์„ ์ƒ์„ฑํ•˜๊ณ  ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ARRAY ์„น์…˜์„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

์ฐธ๊ณ  ํ•ญ๋ชฉ:

ARRAY_CONSTRUCT_COMPACT

๊ตฌ๋ฌธยถ

ARRAY_CONSTRUCT( [ <expr1> ] [ , <expr2> [ , ... ] ] )
Copy

์ธ์žยถ

์ธ์ž๋Š” ๊ฐ’(๋˜๋Š” ๊ฐ’์œผ๋กœ ํ‰๊ฐ€๋˜๋Š” ์‹)์ž…๋‹ˆ๋‹ค. ์ธ์ž ๊ฐ’์€ ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ ํƒ€์ž…์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐ˜ํ™˜ยถ

๋ฐ˜ํ™˜๋œ ๊ฐ’์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž…์€ ARRAY์ž…๋‹ˆ๋‹ค.

์‚ฌ์šฉ๋ฒ• ๋…ธํŠธยถ

  • ํ•จ์ˆ˜๊ฐ€ N ๊ฐœ์˜ ์ธ์ž๋กœ ํ˜ธ์ถœ๋œ ๊ฒฝ์šฐ, ๊ฒฐ๊ณผ ๋ฐฐ์—ด์˜ ํฌ๊ธฐ๋Š” N ์ž…๋‹ˆ๋‹ค.

  • ๋งŽ์€ ์ƒํ™ฉ์—์„œ ARRAY_CONSTRUCT ํ•จ์ˆ˜ ๋Œ€์‹  ARRAY ์ƒ์ˆ˜ (๋˜๋Š” ARRAY ๋ฆฌํ„ฐ๋Ÿด ์ด๋ผ๊ณ ๋„ ํ•จ)๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๋ฐฐ์—ด์—๋Š” SQL NULL ๊ฐ’๊ณผ JSON null ๊ฐ’์ด ๋ชจ๋‘ ํฌํ•จ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ NULL ๊ฐ’ ์„น์…˜์„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

์˜ˆยถ

์ˆซ์ž ๋ฐ์ดํ„ฐ ํƒ€์ž…์œผ๋กœ ๊ตฌ์„ฑ๋œ ๊ธฐ๋ณธ ๋ฐฐ์—ด์„ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.

SELECT ARRAY_CONSTRUCT(10, 20, 30);
Copy
+-----------------------------+
| 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);
Copy
+---------------------------------------------------------------------+
| ARRAY_CONSTRUCT(NULL, PARSE_JSON('NULL'), 'HELLO', 3::DOUBLE, 4, 5) |
|---------------------------------------------------------------------|
| [                                                                   |
|   undefined,                                                        |
|   null,                                                             |
|   "hello",                                                          |
|   3.000000000000000e+00,                                            |
|   4,                                                                |
|   5                                                                 |
| ]                                                                   |
+---------------------------------------------------------------------+

๋นˆ ๋ฐฐ์—ด์„ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.

SELECT ARRAY_CONSTRUCT();
Copy
+-------------------+
| 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;
Copy
+----+--------------+
| ID | ARRAY_COLUMN |
|----+--------------|
|  1 | [            |
|    |   1,         |
|    |   2,         |
|    |   3          |
|    | ]            |
|  2 | [            |
|    |   4,         |
|    |   5,         |
|    |   6          |
|    | ]            |
|  3 | [            |
|    |   7,         |
|    |   8,         |
|    |   9          |
|    | ]            |
+----+--------------+