メインコンテンツまでスキップ

array_position

array_position

説明

配列内の要素の位置を取得します。

構文

array_position(any_array, any_element)

パラメータ

  • any_array: 検索対象の配列です。
  • any_element: 配列内で一致する要素です。

戻り値

指定された要素が配列内に存在する場合はその位置を返し、要素が配列内に見つからない場合は0を返します。

  • 例1: 配列内の要素の位置を取得する。
mysql> select array_position(["apple","orange","pear"], "orange");

+-----------------------------------------------------+

| array_position(['apple','orange','pear'], 'orange') |

+-----------------------------------------------------+

| 2 |

+-----------------------------------------------------+

1 row in set (0.01 sec)
  • 例2: 配列内のNULLの位置を取得する。
mysql> select array_position([1, NULL], NULL);
+--------------------------------+

| array_position([1,NULL], NULL) |

+--------------------------------+

| 2 |

+--------------------------------+

1 row in set (0.00 sec)
  • 例3: 多次元配列内の部分配列の位置を取得する。指定された部分配列と同じ要素と同じ順序で構成される部分配列が多次元配列内に見つかる場合にのみ、位置が返されます。
mysql> select array_position([[1,2,3], [4,5,6]], [4,5,6]);

+--------------------------------------------+

| array_position([[1,2,3],[4,5,6]], [4,5,6]) |

+--------------------------------------------+

| 2 |

+--------------------------------------------+

1 row in set (0.00 sec)



mysql> select array_position([[1,2,3], [4,5,6]], [4,6,5]);

+--------------------------------------------+

| array_position([[1,2,3],[4,5,6]], [4,6,5]) |

+--------------------------------------------+

| 0 |

+--------------------------------------------+

1 row in set (0.00 sec)

キーワード

ARRAY_POSITION, ARRAY