- カテゴリ:
半構造化データ関数と構造化データ関数 (配列/オブジェクト)
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" |
| ] |
+-----------------------------------+