ARRAY_ENUMERATE
更新时间:2025-10-17
描述
返回数组下标,例如 [1, 2, 3, …, length (arr) ]
语法
SQL
1ARRAY_ENUMERATE(<arr>)
参数
| 参数 | 说明 |
|---|---|
<arr> |
需要返回数组下标的数组 |
返回值
返回包含数组下标的数组,特殊情况:
- 如果参数是 NULL,则返回 NULL
举例
SQL
1create table array_type_table(
2 k1 INT,
3 k2 Array<STRING>
4)
5duplicate key (k1)
6distributed by hash(k1) buckets 1
7properties(
8 'replication_num' = '1'
9);
10insert into array_type_table values (0, []),
11("1", [NULL]),
12("2", ["1", "2", "3"]),
13("3", ["1", NULL, "3"]),
14("4", NULL);
15select k2, array_enumerate(k2) from array_type_table;
Text
1+------------------+-----------------------+
2| k2 | array_enumerate(`k2`) |
3+------------------+-----------------------+
4| [] | [] |
5| [NULL] | [1] |
6| ['1', '2', '3'] | [1, 2, 3] |
7| ['1', NULL, '3'] | [1, 2, 3] |
8| NULL | NULL |
9+------------------+-----------------------+
