0
如何检查地图在Presto中是否没有钥匙?如果我有办法检查数组是否为空,我可以使用map_keys
函数来确定映射是否为空。检查Presto中的地图或数组是否为空?
如何检查地图在Presto中是否没有钥匙?如果我有办法检查数组是否为空,我可以使用map_keys
函数来确定映射是否为空。检查Presto中的地图或数组是否为空?
要检查数组是空的,只需将它与= 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)
我得到' '=' 不能被应用到阵列(行(值整数)),阵列(行(VALUE整数) )',你知道什么可能是错的? –
@LeoJiang我该如何重现?我尝试了'select array [cast(row(1)as row(value integer))] = array [];'并且它正确地返回了'false'(在Presto'master'中) –
我们可能会使用怪异版本的Presto ,我通过将地图转换为JSON并将其转换为字符串来找到另一个解决方案。谢谢。 –