将MAP对象input的元素进行过滤,只保留满足predicate条件的元素。
命令格式
map<K, V> map_filter(map<K, V> <input>, function <K, V, boolean> <predicate>)
参数说明
input:必填。MAP类型。
map<K, V>
中的K
、V
指代MAP对象的Key、Value。predicate:必填。用于对输入MAP对象中的元素进行过滤的函数(内建函数或自定义函数)或表达式。它的两个输入参数,分别对应input中的Key和Value,输出结果为BOOLEAN类型。
返回值说明
返回MAP类型。
使用示例
--返回{-30:100, 20:50}。
select map_filter(map(10, -20, 20, 50, -30, 100, 21, null), (k, v) -> (k+v) > 10);
说明
使用示例中涉及->
的使用,关于Lambda函数->
的介绍,详情请参见Lambda函数。
相关函数
MAP_FILTER函数属于复杂类型函数,更多对复杂类型数据(例如ARRAY、MAP、STRUCT、JSON数据)的处理函数请参见复杂类型函数。