否定 ?& JSON 运算符

Posted

技术标签:

【中文标题】否定 ?& JSON 运算符【英文标题】:Negating the ?& JSON operator 【发布时间】:2016-03-04 01:13:33 【问题描述】:

有没有办法在 Postgres 中否定 ?& 运算符? postgres 文档中的operators table 说?& 等同于“所有这些键/元素字符串都存在吗?”

我想要做的是根据数组中的所有键是否不存在来返回行。所以像

SELECT * FROM mytable WHERE NEGATE_THIS(jsoncolumn ?& ['v1', 'v2'])

我在文档中看不到特定的运算符,有没有办法做到这一点?

【问题讨论】:

【参考方案1】:

怎么样(假设您想要所有不存在任何键的行)

WHERE NOT (jsoncolumn ?| ['v1', 'v2'])

?| 是“这些键/元素字符串是否存在?”

【讨论】:

哇哦,原来如此简单。谢谢!计时器结束时会标记它。

以上是关于否定 ?& JSON 运算符的主要内容,如果未能解决你的问题,请参考以下文章

C 语言 运算符表

为啥在检查符号是不是存在时不能使用否定运算符?

我可以简化这个使用逻辑否定运算符的条件语句吗?

python波浪号一元运算符作为否定numpy bool数组

csharp 使用否定运算符返回布尔表达式的相反值。

csharp 使用否定运算符返回布尔表达式的相反值。