array_position

SinceVersion 1.2.0

array_position

description

Syntax

BIGINT array_position(ARRAY<T> arr, T value)

返回value在数组中第一次出现的位置/索引。

1. position - value在array中的位置(从1开始计算);
2. 0        - 如果value在array中不存在;
3. NULL     - 如果数组为NULL。

notice

仅支持向量化引擎中使用

example

1. mysql> set enable_vectorized_engine=true;

3. mysql> SELECT id,c_array,array_position(c_array, 5) FROM `array_test`;
4. +------+-----------------+------------------------------+
5. | id   | c_array         | array_position(`c_array`, 5) |
6. +------+-----------------+------------------------------+
7. |    1 | [1, 2, 3, 4, 5] |                            5 |
8. |    2 | [6, 7, 8]       |                            0 |
9. |    3 | []              |                            0 |
10. |    4 | NULL            |                         NULL |
11. +------+-----------------+------------------------------+

13. mysql> select array_position([1, null], null);
14. +--------------------------------------+
15. | array_position(ARRAY(1, NULL), NULL) |
16. +--------------------------------------+
17. |                                    2 |
18. +--------------------------------------+
19. 1 row in set (0.01 sec)

keywords

ARRAY,POSITION,ARRAY_POSITION