카테고리:

반정형 및 정형 데이터 함수 (배열/오브젝트)

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"                             |
| ]                                 |
+-----------------------------------+