web-dev-qa-db-fra.com

Vérifier si une carte ou un tableau est vide dans Presto?

Comment vérifier si une carte n'a pas de clés dans Presto? Si j'ai un moyen de vérifier si un tableau est vide, je peux utiliser le map_keys fonction pour déterminer si la carte est vide.

9
Leo Jiang

Pour vérifier que le tableau est vide, il suffit de le comparer avec = array[]. Exemple:

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

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

De même, pour vérifier si une carte est vide, il suffit de la comparer avec = map(). Exemple:

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

 is_empty
----------
 true
(1 row)
4
Piotr Findeisen

Vous pouvez utiliser la fonction cardinality: https://prestodb.io/docs/current/functions/array.html#cardinality

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