使用Like运算符的Qubole Presto数据类型“ Map”

问题描述 投票:0回答:1

因此,我试图在Presto上为Qubole查询应用一个简单的like函数。对于字符串数据类型,我可以简单地进行像'%United States of America%'

但是,对于我要应用的列,其基础数据类型为“ map”,因此查询失败。我如何为地图数据类型编写like运算符,以便它仅获取与模式匹配的那些列。

sql hive sql-like presto qubole
1个回答
0
投票

请参阅https://prestosql.io/docs/current/functions/map.html的Presto中与地图相关的功能的文档

您应该可以使用map_filter过滤掉所需的条目。例如:

SELECT map_filter(MAP(ARRAY['India', 'Poland', 'United States of America'], ARRAY[20, 3, 15]), (k, v) -> k like '%United States of America%');

             _col0             
-------------------------------
 {United States of America=15} 
(1 row)
© www.soinside.com 2019 - 2024. All rights reserved.