使用json数据搜索字段

时间:2014-09-18 12:12:18

标签: json postgresql search

我有一个json数组,f.e。 [169,172]我需要一个查询来查找此数组是否包含数字,例如:

SELECT * FROM smthg WHERE 169 IN '[169,172]'::json;

我该怎么做?

1 个答案:

答案 0 :(得分:1)

select '[169,172]'::jsonb @> '169';

这适用于使用jsonb类型的postgres 9.4b2。对于较低版本的数字,您可能不得不求助于文本搜索或类似的内容:

select true where '169' in (select json_array_elements_text('[169,172]'::json));