メインコンテンツまでスキップ
バージョン: Latest-3.4

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