eki*_*nov 4 sql postgresql json
我有一个表 A,其中 b 列为 jsonb
b
------------------
{"c": 1}
{"c": 1, "d": 2}
Run Code Online (Sandbox Code Playgroud)
如何为缺少 d 的行构建查询?
SELECT * FROM A WHERE b@>'{"c":1}';
Run Code Online (Sandbox Code Playgroud)
返回所有行,同时
SELECT * FROM A WHERE b@>'{"c":1,"d":null}';
Run Code Online (Sandbox Code Playgroud)
返回无(由于第一行中的 d 不为空);
小智 5
您可以使用? 运算符来测试密钥是否存在。要查找键不存在的那些,您可以对表达式求反:
select *
from a
where not b ? 'd';
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1712 次 |
| 最近记录: |