将MAP对象a中的所有Key生成ARRAY数组。
命令格式
array<K> map_keys(map<K, V> <a>)
参数说明
a:必填。MAP对象。map<K, V>
中的K
、V
指代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数据)的处理函数请参见复杂类型函数。