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
