在hstore docs中有一个文档化的运算符来检查hstore是否包含所有指定的键:
运营商: hstore?&文字[]
说明:hstore是否包含所有指定的密钥?
示例:' a => 1,b => 2' :: hstore?& ARRAY ['一个'' B&#39]
结果: =>吨
我的用例正好相反:我想检查hstore是否不包含所有指定的键。
因为'a=>1,b=>2'::hstore SOME_OPERATOR ARRAY['b','c']
包含b。
'a=>1,b=>2'
应该返回false
我试过了!?&
,但毫不奇怪,这没有用。有这样的运营商吗?还是一种否定记录的方法?
答案 0 :(得分:1)
取消条件并将操作符更改为?|
,使其与数组中的任何键不匹配:
select *
from some_table
where not (some_column ?| ARRAY['b','c'])