web-dev-qa-db-ja.com

Prestoでマップまたは配列が空かどうかを確認していますか?

Prestoでマップにキーがないかどうかを確認するにはどうすればよいですか?配列が空かどうかを確認する方法がある場合は、map_keys関数を使用して、マップが空かどうかを判別します。

9
Leo Jiang

配列が空であることを確認するには、それを_= 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)
_
4
Piotr Findeisen

cardinality関数を使用できます: https://prestodb.io/docs/current/functions/array.html#cardinality

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