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