检查 Presto 中的地图或数组是否为空?

Checking if a map or array is empty in Presto?

如何在 Presto 中检查地图是否没有键?如果我有办法检查数组是否为空,我可以使用 map_keys 函数来确定映射是否为空。

要检查数组是否为空,只需将其与 = array[] 进行比较即可。 示例:

presto> select (map_keys(map(array[], array[])) = array[]) as is_empty;

 is_empty
----------
 true
(1 row)

同样,要检查地图是否为空,只需将其与 = map() 进行比较即可。 示例:

presto> select (map(array[], array[]) = map()) as is_empty;

 is_empty
----------
 true
(1 row)

您可以使用cardinality函数:https://prestodb.io/docs/current/functions/array.html#cardinality

select cardinality(array[]) = 0;
 _col0
-------
 true
(1 row)