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

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

ARRAY_GENERATE_RANGEยถ

์ง€์ •๋œ ๋ฒ”์œ„(์˜ˆ: [2, 3, 4]) ๋‚ด ์ •์ˆ˜ ๊ฐ’์˜ ARRAY ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

๊ตฌ๋ฌธยถ

ARRAY_GENERATE_RANGE( <start> , <stop> [ , <step> ] )
Copy

์ธ์žยถ

ํ•„์ˆ˜:

start

๋ฐ˜ํ™˜ํ•  ์ˆซ์ž ๋ฒ”์œ„์˜ ์ฒซ ๋ฒˆ์งธ ์ˆซ์ž์ž…๋‹ˆ๋‹ค.

INTEGER ๊ฐ’์œผ๋กœ ๊ณ„์‚ฐ๋˜๋Š” ์‹์„ ์ง€์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

stop

๋ฒ”์œ„์˜ ๋งˆ์ง€๋ง‰ ์ˆซ์ž์ž…๋‹ˆ๋‹ค. ์ด ์ˆซ์ž๋Š” ๋ฐ˜ํ™˜๋˜๋Š” ์ˆซ์ž ๋ฒ”์œ„์— ํฌํ•จ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด ARRAY_GENERATE_RANGE(1, 5) ๋Š” [1, 2, 3, 4] (5 ๋Š” ํฌํ•จํ•˜์ง€ ์•Š์Œ)๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

INTEGER ๊ฐ’์œผ๋กœ ๊ณ„์‚ฐ๋˜๋Š” ์‹์„ ์ง€์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์„ ํƒ ์‚ฌํ•ญ:

step

๋ฐฐ์—ด์—์„œ ๊ฐ๊ฐ์˜ ํ›„์† ์ˆซ์ž๋ฅผ ๋Š˜๋ฆฌ๊ฑฐ๋‚˜ ์ค„์ผ ์–‘์ž…๋‹ˆ๋‹ค. ์˜ˆ:

  • ARRAY_GENERATE_RANGE(0, 16, 5) ๋Š” [0, 5, 10, 15] ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

  • ARRAY_GENERATE_RANGE(0, -16, -5) ๋Š” [0, -5, -10, -15] ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

์–‘์ˆ˜ ๋˜๋Š” ์Œ์ˆ˜๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 0์€ ์ง€์ •ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

๊ธฐ๋ณธ๊ฐ’์€ 1 ์ž…๋‹ˆ๋‹ค.

๋ฐ˜ํ™˜ยถ

์ง€์ •๋œ ๋ฒ”์œ„์—์„œ ์ •์ˆ˜๋กœ ๊ตฌ์„ฑ๋œ ARRAY์ž…๋‹ˆ๋‹ค.

์ธ์ž ์ค‘ ํ•˜๋‚˜๋ผ๋„ NULL์ด๋ฉด ์ด ํ•จ์ˆ˜๋Š” NULL์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

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

  • start ์ดํ›„ ๊ฐ ํ›„์† ์š”์†Œ๋Š” ์ตœ๋Œ€ stop ๊นŒ์ง€(๋‹จ, ์ด ๊ฐ’์€ ํฌํ•จ๋˜์ง€ ์•Š์Œ). step ๋งŒํผ ์ฆ๊ฐ€ํ•˜๊ฑฐ๋‚˜ ๊ฐ์†Œํ•ฉ๋‹ˆ๋‹ค(step ์ด ์–‘์ˆ˜์ธ์ง€ ์Œ์ˆ˜์ธ์ง€์— ๋”ฐ๋ผ ๋‹ค๋ฆ„).

    ์˜ˆ:

    • ARRAY_GENERATE_RANGE(10, 50, 10) ์€ [10, 20, 30, 40] ์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

    • ARRAY_GENERATE_RANGE(-10, -50, -10) ์€ [-10, -20, -30, -40] ์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

  • ์ด ํ•จ์ˆ˜๋Š” ๋‹ค์Œ ์กฐ๊ฑด ์ค‘ ํ•˜๋‚˜์—์„œ ๋นˆ ARRAY๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

    • start = stop.

    • step ์€ ์–‘์ˆ˜์ด๊ณ  start > stop ์ž…๋‹ˆ๋‹ค.

    • step ์€ ์Œ์ˆ˜์ด๊ณ  start < stop ์ž…๋‹ˆ๋‹ค.

    ์˜ˆ:

    • ARRAY_GENERATE_RANGE(2, 2, 4) ๋Š” [] ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

    • ARRAY_GENERATE_RANGE(8, 2, 2) ๋Š” [] ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

    • ARRAY_GENERATE_RANGE(2, 8, -2) ๋Š” [] ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

์˜ˆยถ

๋‹ค์Œ ์˜ˆ์ œ์—์„œ๋Š” 2์—์„œ ์‹œ์ž‘ํ•˜์—ฌ 5 ์ด์ „์— ๋๋‚˜๋Š” ์ˆซ์ž ๋ฒ”์œ„๋ฅผ ํฌํ•จํ•˜๋Š” ARRAY๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

SELECT ARRAY_GENERATE_RANGE(2, 5);
Copy
+----------------------------+
| ARRAY_GENERATE_RANGE(2, 5) |
|----------------------------|
| [                          |
|   2,                       |
|   3,                       |
|   4                        |
| ]                          |
+----------------------------+

๋‹ค์Œ ์˜ˆ์ œ์—์„œ๋Š” 5์—์„œ ์‹œ์ž‘ํ•˜์—ฌ 25 ์ด์ „์— ๋๋‚˜๋Š” ์ˆซ์ž ๋ฒ”์œ„๋ฅผ ํฌํ•จํ•˜๋Š” ARRAY๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋ฉฐ, ๊ฐ’์€ 10์”ฉ ์ฆ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

SELECT ARRAY_GENERATE_RANGE(5, 25, 10);
Copy
+---------------------------------+
| ARRAY_GENERATE_RANGE(5, 25, 10) |
|---------------------------------|
| [                               |
|   5,                            |
|   15                            |
| ]                               |
+---------------------------------+

๋‹ค์Œ ์˜ˆ์ œ์—์„œ๋Š” -5์—์„œ ์‹œ์ž‘ํ•˜์—ฌ -25 ์ด์ „์— ๋๋‚˜๋Š” ์ˆซ์ž ๋ฒ”์œ„๋ฅผ ํฌํ•จํ•˜๋Š” ARRAY๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋ฉฐ, ๊ฐ’์€ -10์”ฉ ๊ฐ์†Œํ•ฉ๋‹ˆ๋‹ค.

SELECT ARRAY_GENERATE_RANGE(-5, -25, -10);
Copy
+------------------------------------+
| ARRAY_GENERATE_RANGE(-5, -25, -10) |
|------------------------------------|
| [                                  |
|   -5,                              |
|   -15                              |
| ]                                  |
+------------------------------------+