查找所有 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'])
在 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'])