Json包含查询

Json包含查询,json,postgresql,jsonb,Json,Postgresql,Jsonb,我有一个Postgres表,其中包含json列,如下所示: select * from jsontest; id | jbag ----+------------------------------------------------------ 1 | [{"category":"L"},{"category":"T"}] 2 | [{"category":"C"},{"categor

我有一个Postgres表,其中包含
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