检查postgresql中JSON数组中是否存在值

时间:2015-10-29 10:47:54

标签: postgresql-9.2 postgresql-9.3

CREATE TABLE js_testt (
    id SERIAL,
    tids json
);

INSERT INTO js_testt (tids) values ('{"flat": ["11", "22", "33", "44"], "promo": ["1", "2", "3", "4"]}');

基于上面的例子,我怎样才能找到值" 33"存在于json键下的表格中#34; flat"。

1 个答案:

答案 0 :(得分:0)

首先,我有一个坏消息,这是在9.2中非常发达的。如果你不能去9.3,你将不得不自己动手。

你真的想编写函数来处理json(将json放入并返回值)并用plperlu或plv8js这样的语言执行此操作。确保函数是不可变的(即,在给定相同输入的情况下,始终产生相同的输出而没有副作用)并将其标记为。

然后你可以调用这些函数,索引结果等等。