1
CREATE TABLE tableTestJSON (
id serial primary key,
data jsonb
);
INSERT INTO tableTestJSON (data) VALUES
('{}'),
('{"a": 1}'),
('{"a": 2, "b": ["c", "d"]}'),
('{"a": 1, "b": {"c": "d", "e": true}}'),
('{"b": 2}');
我可以选择值。这没有问题。查询JSON PostgreSQL
SELECT * FROM tableTestJSON;
我可以测试两个JSON对象是否与此查询相同。
SELECT * FROM tableTestJSON WHERE data = '{"a":1}';
此查询的输出是:
ID |数据 ---- + ------ 1 | {“一”:1} (1行)
但我有一个问题: 可以说我有一栏:
{a: 30}
{a: 40}
{a: 50}
在这种情况下,我怎么能查询所有包含的元素a = 30或a = 40。我无法找到'or'的任何解决方案,例如
select * from table where a in (10,20); // ??
或 我该如何查询这种情况?
另外我测试另一asnwer这样。 Like this query:SELECT * FROM tableTestJSON WHERE data#>'{a}'IN('10','20'); 谢谢。 – aemre