Json包含查询

时间:2016-11-01 01:14:23

标签: json postgresql jsonb

我有一个包含json列的Postgres表,如下所示:

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"}]';

1 个答案:

答案 0 :(得分:0)

运营商@>仅适用于jsonb值:

select * 
from jsontest 
where jbag::jsonb @> '[{"category":"T"}]'::jsonb;