将MAP对象a中的所有Key生成ARRAY数组。

命令格式

array<K> map_keys(map<K, V> <a>)

参数说明

a:必填。MAP对象。map<K, V>中的KV指代MAP对象的Key、Value。

返回值说明

返回ARRAY类型。输入MAP对象为NULL时,返回结果为NULL。

使用示例

例如表t_table_map的字段为c1 bigint,t_map map<string,bigint>,包含数据如下:

+------------+-------+
| c1         | t_map |
+------------+-------+
| 1000       | {k11:86, k21:15} |
| 1001       | {k12:97, k22:2} |
| 1002       | {k13:99, k23:1} |
+------------+-------+

命令示例如下。

--将t_map中的Key作为数组返回。
select c1, map_keys(t_map) from t_table_map;
--返回结果如下。
+------------+------+
| c1         | _c1  |
+------------+------+
| 1000       | [k11, k21] |
| 1001       | [k12, k22] |
| 1002       | [k13, k23] |
+------------+------+

相关函数

MAP_KEYS函数属于复杂类型函数,更多对复杂类型数据(例如ARRAY、MAP、STRUCT、JSON数据)的处理函数请参见复杂类型函数