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)
Keywords
ARRAY_POSITION, ARRAY