将MAP对象a中的所有Value生成ARRAY数组。
命令格式
array<V> map_values(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中的Value作为数组返回。
select c1,map_values(t_map) from t_table_map;
--返回结果如下。
+------------+------+
| c1 | _c1 |
+------------+------+
| 1000 | [86, 15] |
| 1001 | [97, 2] |
| 1002 | [99, 1] |
+------------+------+
相关函数
MAP_VALUES函数属于复杂类型函数,更多对复杂类型数据(例如ARRAY、MAP、STRUCT、JSON数据)的处理函数请参见复杂类型函数。