Json包含查询
我有一个Postgres表,其中包含Json包含查询,json,postgresql,jsonb,Json,Postgresql,Jsonb,我有一个Postgres表,其中包含json列,如下所示: select * from jsontest; id | jbag ----+------------------------------------------------------ 1 | [{"category":"L"},{"category":"T"}] 2 | [{"category":"C"},{"categor
json
列,如下所示:
select * from jsontest;
id | jbag
----+------------------------------------------------------
1 | [{"category":"L"},{"category":"T"}]
2 | [{"category":"C"},{"category":"L"},{"category":"T"}]
3 | [{"category":"T"},{"category":"L"}]
(3 rows)
我希望能够返回jbag
包含{“category”:“T”}
的所有记录。请提出实现这一目标的方法
我尝试了下面的方法,但没有成功
select * from jsontest where jbag @> '[{"category":"T"}]'
ERROR: syntax error at or near "select"
LINE 2: select * from jsontest where jbag @> '[{"category":"T"}]';
操作员
@>
仅对jsonb
值起作用:
select *
from jsontest
where jbag::jsonb @> '[{"category":"T"}]'::jsonb;
操作员
@>
仅对jsonb
值起作用:
select *
from jsontest
where jbag::jsonb @> '[{"category":"T"}]'::jsonb;
那真是太神奇了!谢谢你,克林。顺便说一句,jsonb是否意味着转换为json?有:
jsonb
带相等运算符,而不带相等运算符。value::jsonb
意味着将类型强制转换为jsonb
。这就像魔术一样!谢谢你,克林。顺便说一句,jsonb是否意味着转换为json?有:jsonb
带相等运算符,而不带相等运算符。value::jsonb
表示类型转换为jsonb
。