- ์นดํ ๊ณ ๋ฆฌ:
๋ฐ์ ํ ๋ฐ ์ ํ ๋ฐ์ดํฐ ํจ์ (๋ฐฐ์ด/์ค๋ธ์ ํธ)
ARRAY_GENERATE_RANGEยถ
์ง์ ๋ ๋ฒ์(์: [2, 3, 4]
) ๋ด ์ ์ ๊ฐ์ ARRAY ๋ฅผ ๋ฐํํฉ๋๋ค.
๊ตฌ๋ฌธยถ
ARRAY_GENERATE_RANGE( <start> , <stop> [ , <step> ] )
์ธ์ยถ
ํ์:
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);
+----------------------------+
| ARRAY_GENERATE_RANGE(2, 5) |
|----------------------------|
| [ |
| 2, |
| 3, |
| 4 |
| ] |
+----------------------------+
๋ค์ ์์ ์์๋ 5์์ ์์ํ์ฌ 25 ์ด์ ์ ๋๋๋ ์ซ์ ๋ฒ์๋ฅผ ํฌํจํ๋ ARRAY๋ฅผ ๋ฐํํ๋ฉฐ, ๊ฐ์ 10์ฉ ์ฆ๊ฐํฉ๋๋ค.
SELECT ARRAY_GENERATE_RANGE(5, 25, 10);
+---------------------------------+
| ARRAY_GENERATE_RANGE(5, 25, 10) |
|---------------------------------|
| [ |
| 5, |
| 15 |
| ] |
+---------------------------------+
๋ค์ ์์ ์์๋ -5์์ ์์ํ์ฌ -25 ์ด์ ์ ๋๋๋ ์ซ์ ๋ฒ์๋ฅผ ํฌํจํ๋ ARRAY๋ฅผ ๋ฐํํ๋ฉฐ, ๊ฐ์ -10์ฉ ๊ฐ์ํฉ๋๋ค.
SELECT ARRAY_GENERATE_RANGE(-5, -25, -10);
+------------------------------------+
| ARRAY_GENERATE_RANGE(-5, -25, -10) |
|------------------------------------|
| [ |
| -5, |
| -15 |
| ] |
+------------------------------------+