查找所有 hstore 不包含任何指定键的地方

Find all where hstore does not contain any specified keys

hstore docs 中有一个记录的运算符来检查 hstore 是否包含所有指定的键:

Operator: hstore ?& text[]

Description: does hstore contain all specified keys?

Example: 'a=>1,b=>2'::hstore ?& ARRAY['a','b']

Result: => t

我的用例恰恰相反:我想检查 hstore 是否包含所有指定的键。

所以 'a=>1,b=>2'::hstore SOME_OPERATOR ARRAY['b','c'] 应该 return false 因为 'a=>1,b=>2' 包含 b.

我尝试了 !?&,但不出所料,没有用。有这样的运营商吗?或者一种否定记录的方法?

否定条件并将运算符更改为 ?| 以便它不匹配数组中的 any 键:

select *
from some_table
where not (some_column ?| ARRAY['b','c'])