ARRAY_REMOVE
ARRAY_REMOVE
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) |
|-------------------------|
| [] |
+-------------------------+
다음 예제는 ARRAY에서 값 'a'를 가진 요소를 제거해요. 예제에서 보듯이 값을 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" |
| ] |
+-----------------------------------+