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

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

ARRAY_REMOVEยถ

์›๋ณธ ARRAY ๊ฐ€ ์ฃผ์–ด์ง€๋ฉด ์ง€์ •๋œ ๊ฐ’์˜ ์š”์†Œ๊ฐ€ ์ œ๊ฑฐ๋œ ARRAY๊ฐ€ ๋ฐ˜ํ™˜๋ฉ๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด ARRAY_REMOVE([2, 5, 7, 5, 1], 5) ๋Š” 5์™€ ๊ฐ™์€ ์š”์†Œ๋ฅผ ์ œ๊ฑฐํ•œ ARRAY๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค([2, 7, 1]).

๊ตฌ๋ฌธยถ

ARRAY_REMOVE( <array> , <value_of_elements_to_remove> )
Copy

์ธ์žยถ

array

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

value_of_elements_to_remove

์ œ๊ฑฐํ•  ์š”์†Œ์˜ VARIANT ๊ฐ’์ž…๋‹ˆ๋‹ค. ์ด ํ•จ์ˆ˜๋Š” ์ด ๊ฐ’๊ณผ ๊ฐ™์€ ์š”์†Œ๋ฅผ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค.

VARCHAR ๊ฐ’์„ ์ง€์ •ํ•  ๊ฒฝ์šฐ ๋จผ์ € ๊ฐ’์„ VARIANT๋กœ ์บ์ŠคํŒ…ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋ฐ˜ํ™˜ยถ

์ง€์ •๋œ ๊ฐ’๊ณผ ๊ฐ™์€ ์š”์†Œ๋ฅผ ๋ชจ๋‘ ์ œ๊ฑฐํ•œ ARRAY์ž…๋‹ˆ๋‹ค.

value_of_elements_to_remove ๊ฐ€ NULL์ด๋ฉด ์ด ํ•จ์ˆ˜๋Š” NULL์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

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

  • array ์˜ ๋ชจ๋“  ์š”์†Œ๊ฐ€ value_of_elements_to_remove ์™€ ๊ฐ™์œผ๋ฉด ์ด ํ•จ์ˆ˜๋Š” ๋นˆ ARRAY๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

์˜ˆยถ

๋‹ค์Œ ์˜ˆ์ œ์—์„œ๋Š” ๊ฐ’ 5๋ฅผ ์ œ๊ฑฐํ•œ ์š”์†Œ๊ฐ€ ์žˆ๋Š” ARRAY๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

SELECT ARRAY_REMOVE(
  [1, 5, 5.00, 5.00::DOUBLE, '5', 5, NULL],
  5);
Copy
+---------------------------------------------+
| ARRAY_REMOVE(                               |
|   [1, 5, 5.00, 5.00::DOUBLE, '5', 5, NULL], |
|   5)                                        |
|---------------------------------------------|
| [                                           |
|   1,                                        |
|   "5",                                      |
|   undefined                                 |
| ]                                           |
+---------------------------------------------+

๋‹ค์Œ ์˜ˆ์ œ์—์„œ๋Š” ๊ฐ’์ด 5์ธ ์š”์†Œ๋งŒ ํฌํ•จํ•˜๋Š” ARRAY์—์„œ ๊ฐ’์ด 5์ธ ์š”์†Œ๋ฅผ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค. ์ด ํ•จ์ˆ˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋นˆ ARRAY๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

SELECT ARRAY_REMOVE([5, 5], 5);
Copy
+-------------------------+
| ARRAY_REMOVE([5, 5], 5) |
|-------------------------|
| []                      |
+-------------------------+

๋‹ค์Œ ์˜ˆ์ œ์—์„œ๋Š” ๊ฐ’์ด 'a' ์ธ ์š”์†Œ๋ฅผ ARRAY์—์„œ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ์ œ์— ํ‘œ์‹œ๋œ ๊ฒƒ์ฒ˜๋Ÿผ, ๊ฐ’์„ VARIANT๋กœ ์บ์ŠคํŒ…ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

SELECT ARRAY_REMOVE(
  ['a', 'b', 'a', 'c', 'd', 'a'],
  'a'::VARIANT);
Copy
+-----------------------------------+
| ARRAY_REMOVE(                     |
|   ['A', 'B', 'A', 'C', 'D', 'A'], |
|   'A'::VARIANT)                   |
|-----------------------------------|
| [                                 |
|   "b",                            |
|   "c",                            |
|   "d"                             |
| ]                                 |
+-----------------------------------+