如何确定一个 hstore 是否是另一个 hstore 的子集?

How can I find out if a hstore is a subset of another hstore?

我有两个 hstore 字段,我想比较它们,我想知道一个是否是另一个的子集?

所以,假设我有 "foo"=>"bar","fnuggle"=>"snuggle","dwurp"=>"qwork""dwurp"=>"qwork",结果将是 TRUE

当我有"foo"=>"bar","fnuggle"=>"snuggle","dwurp"=>"qwork""dwurp"=>"dworp"时,结果应该是FALSE

此外,当我有 "foo"=>"bar","fnuggle"=>"snuggle","dwurp"=>"qwork""dwurp"=>"qwork","flippin"=>"floppin" 时,结果应该是 FALSE

我研究了 hstore 运算符和其他可能性,但没有找到好的解决方案。

答案原来很简单。考虑 big 是超集,small 是子集,这:

slice(big, akeys(small)) = small

returns TRUEsmall 是子集时。