カテゴリ:

半構造化データ関数と構造化データ関数 (配列/オブジェクト)

ARRAY_REMOVE_AT

ソース ARRAY を指定すると、指定された位置の要素が削除された ARRAY を返します。

たとえば、 ARRAY_REMOVE_AT([2, 5, 7], 0) は、位置0の要素が削除された ARRAY を返します([5, 7])。

構文

ARRAY_REMOVE_AT( <array> , <position> )
Copy

引数

array

ソース配列です。

position

削除する要素の位置(ゼロベース)。この関数は、この位置の要素を削除します。

負の位置は、配列の後ろからのインデックスとして解釈されます(例: -1 は配列の最後の要素を削除します)。

戻り値

指定された位置の要素が削除された ARRAY。

position が NULL の場合、関数は NULL を返します。

使用上の注意

  • position の絶対値が array の長さを超える場合、関数は要素を削除せずに array を返します。

次の例では、最初の要素が削除された要素を含む ARRAY が返されます。

SELECT ARRAY_REMOVE_AT(
  [2, 5, 7],
  0);
Copy
+-------------------------------+
| ARRAY_REMOVE_AT([2, 5, 7], 0) |
|-------------------------------|
| [                             |
|   5,                          |
|   7                           |
| ]                             |
+-------------------------------+

次の例では、最後の要素が削除された要素を含む ARRAY を返します。

SELECT ARRAY_REMOVE_AT(
  [2, 5, 7],
  -1);
Copy
+--------------------------------+
| ARRAY_REMOVE_AT([2, 5, 7], -1) |
|--------------------------------|
| [                              |
|   2,                           |
|   5                            |
| ]                              |
+--------------------------------+

次の例では、 position が ARRAY の長さより大きいため、関数は何も変更せずに ARRAY を返します。

SELECT ARRAY_REMOVE_AT(
  [2, 5, 7],
  10);
Copy
+------------------+
| ARRAY_REMOVE_AT( |
|   [2, 5, 7],     |
|   10)            |
|------------------|
| [                |
|   2,             |
|   5,             |
|   7              |
| ]                |
+------------------+