我有一个json数组,f.e。 [169,172]
我需要一个查询来查找此数组是否包含数字,例如:
SELECT * FROM smthg WHERE 169 IN '[169,172]'::json;
我该怎么做?
答案 0 :(得分:1)
select '[169,172]'::jsonb @> '169';
这适用于使用jsonb类型的postgres 9.4b2。对于较低版本的数字,您可能不得不求助于文本搜索或类似的内容:
select true where '169' in (select json_array_elements_text('[169,172]'::json));