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

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

ARRAY_INSERTยถ

์›๋ณธ ๋ฐฐ์—ด์˜ ๋ชจ๋“  ์š”์†Œ๋ฟ ์•„๋‹ˆ๋ผ ์ƒˆ ์š”์†Œ๋„ ํฌํ•จํ•œ ๋ฐฐ์—ด์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

๊ตฌ๋ฌธยถ

ARRAY_INSERT( <array> , <pos> , <new_element> )
Copy
์ฐธ๊ณ  ํ•ญ๋ชฉ:

ARRAY_APPEND , ARRAY_PREPEND

์ธ์žยถ

array

์†Œ์Šค ๋ฐฐ์—ด์ž…๋‹ˆ๋‹ค.

pos

์†Œ์Šค ๋ฐฐ์—ด์˜ ์œ„์น˜(0๋ถ€ํ„ฐ ์‹œ์ž‘)์ž…๋‹ˆ๋‹ค. ์ƒˆ ์š”์†Œ๊ฐ€ ์ด ์œ„์น˜์— ์‚ฝ์ž…๋ฉ๋‹ˆ๋‹ค. ์ด ์œ„์น˜์˜ ์›๋ž˜ ์š”์†Œ(์žˆ๋Š” ๊ฒฝ์šฐ) ๋ฐ ๋ชจ๋“  ํ›„์† ์š”์†Œ(์žˆ๋Š” ๊ฒฝ์šฐ)๋Š” ๊ฒฐ๊ณผ ๋ฐฐ์—ด์—์„œ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ํ•œ ์œ„์น˜๋งŒํผ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค(์ฆ‰, ์œ„์น˜ 0์— ์‚ฝ์ž…ํ•˜๋ฉด ARRAY_PREPEND ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๊ณผ ๋™์ผํ•œ ํšจ๊ณผ๊ฐ€ ์žˆ์Œ).

์Œ์ˆ˜ ์œ„์น˜๋Š” ๋ฐฐ์—ด ๋’ค์—์„œ ์ธ๋ฑ์Šค๋กœ ํ•ด์„๋ฉ๋‹ˆ๋‹ค(์˜ˆ: -1 ์˜ ๊ฒฝ์šฐ, ๋ฐฐ์—ด์˜ ๋งˆ์ง€๋ง‰ ์š”์†Œ ์•ž์— ์‚ฝ์ž…).

new_element

์‚ฝ์ž…ํ•  ์š”์†Œ์ž…๋‹ˆ๋‹ค. ์ƒˆ ์š”์†Œ๋Š” pos ์œ„์น˜์— ์žˆ์Šต๋‹ˆ๋‹ค. ์†Œ์Šค ๋ฐฐ์—ด์—์„œ ๋‹ค๋ฅธ ์š”์†Œ์˜ ์ƒ๋Œ€์  ์ˆœ์„œ๋Š” ์œ ์ง€๋ฉ๋‹ˆ๋‹ค.

๋ฐ˜ํ™˜ยถ

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

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

  • ์ •ํ˜• ๋ฐฐ์—ด ์„ ํ•จ์ˆ˜์— ์ „๋‹ฌํ•˜๋ฉด ํ•จ์ˆ˜๋Š” ๋™์ผํ•œ ์œ ํ˜•์˜ ์ •ํ˜• ๋ฐฐ์—ด์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

  • array ๊ฐ€ ์ •ํ˜• ARRAY ์ธ ๊ฒฝ์šฐ ์ƒˆ ์š”์†Œ์˜ ์œ ํ˜•์€ ARRAY์˜ ์œ ํ˜•์œผ๋กœ ๊ฐ•์ œ ๋ณ€ํ™˜ ๊ฐ€๋Šฅ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  • pos ์˜ ์ ˆ๋Œ“๊ฐ’์ด array ์˜ ์š”์†Œ ์ˆ˜๋ฅผ ์ดˆ๊ณผํ•˜๋Š” ๊ฒฝ์šฐ, ์ƒˆ ์š”์†Œ์™€ ์†Œ์Šค ๋ฐฐ์—ด์˜ ์š”์†Œ ์‚ฌ์ด์— ๋นˆ ์š”์†Œ๊ฐ€ ์ถ”๊ฐ€๋กœ ์‚ฝ์ž…๋ฉ๋‹ˆ๋‹ค.

  • ์š”์†Œ๋ฅผ ๋ฐฐ์—ด์— ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ๋ฐฐ์—ด ์•ž์— ์ถ”๊ฐ€ํ•˜๋ ค๋ฉด ๋Œ€์‹  ARRAY_APPEND ๋˜๋Š” ARRAY_PREPEND ๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์˜ˆยถ

์ด๋Š” ๋ฐฐ์—ด์— ์‚ฝ์ž…ํ•˜๋Š” ๊ฐ„๋‹จํ•œ ์˜ˆ๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

SELECT ARRAY_INSERT(ARRAY_CONSTRUCT(0,1,2,3),2,'hello');
+--------------------------------------------------+
| ARRAY_INSERT(ARRAY_CONSTRUCT(0,1,2,3),2,'HELLO') |
|--------------------------------------------------|
| [                                                |
|   0,                                             |
|   1,                                             |
|   "hello",                                       |
|   2,                                             |
|   3                                              |
| ]                                                |
+--------------------------------------------------+
Copy

์ด๋Š” ๋ฐฐ์—ด์˜ ๊ธฐ์กด ์š”์†Œ ์ˆ˜๋ณด๋‹ค ํฐ ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์‚ฝ์ž…์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

SELECT ARRAY_INSERT(ARRAY_CONSTRUCT(0,1,2,3),5,'hello');
+--------------------------------------------------+
| ARRAY_INSERT(ARRAY_CONSTRUCT(0,1,2,3),5,'HELLO') |
|--------------------------------------------------|
| [                                                |
|   0,                                             |
|   1,                                             |
|   2,                                             |
|   3,                                             |
|   undefined,                                     |
|   "hello"                                        |
| ]                                                |
+--------------------------------------------------+
Copy

์ด๋Š” ์Œ์ˆ˜ ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์‚ฝ์ž…์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

SELECT ARRAY_INSERT(ARRAY_CONSTRUCT(0,1,2,3),-1,'hello');
+---------------------------------------------------+
| ARRAY_INSERT(ARRAY_CONSTRUCT(0,1,2,3),-1,'HELLO') |
|---------------------------------------------------|
| [                                                 |
|   0,                                              |
|   1,                                              |
|   2,                                              |
|   "hello",                                        |
|   3                                               |
| ]                                                 |
+---------------------------------------------------+
Copy