- ์นดํ ๊ณ ๋ฆฌ:
๋ฐ์ ํ ๋ฐ ์ ํ ๋ฐ์ดํฐ ํจ์ (๋ฐฐ์ด/์ค๋ธ์ ํธ)
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> )
์ธ์ยถ
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);
+---------------------------------------------+
| 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);
+-------------------------+
| ARRAY_REMOVE([5, 5], 5) |
|-------------------------|
| [] |
+-------------------------+
๋ค์ ์์ ์์๋ ๊ฐ์ด 'a'
์ธ ์์๋ฅผ ARRAY์์ ์ ๊ฑฐํฉ๋๋ค. ์์ ์ ํ์๋ ๊ฒ์ฒ๋ผ, ๊ฐ์ VARIANT๋ก ์บ์คํ
ํด์ผ ํฉ๋๋ค.
SELECT ARRAY_REMOVE(
['a', 'b', 'a', 'c', 'd', 'a'],
'a'::VARIANT);
+-----------------------------------+
| ARRAY_REMOVE( |
| ['A', 'B', 'A', 'C', 'D', 'A'], |
| 'A'::VARIANT) |
|-----------------------------------|
| [ |
| "b", |
| "c", |
| "d" |
| ] |
+-----------------------------------+