Postgres:从JSON数组中选择,为类型为json"提供了无效的输入语法。

时间:2018-03-12 17:00:26

标签: json postgresql jsonb

foo有一列data,它将json存储为:

{ values: ["AR", "BR", "CR"] }

我想选择foo.values中出现bar.value的所有行。当我这样做时:

SELECT * FROM foo
LEFT JOIN bar ON bar.id = foo.id
WHERE foo.data::jsonb->'values' @> bar.value::jsonb;

我收到错误

[Code: , SQL State: 22P02]  ERROR: invalid input syntax for type json
Detail: Token "BR" is invalid.
Where: JSON data, line 1: BR

如果我将foo.value::jsonb替换为'"BR"',我将无法获得。

有解决方案吗?或者甚至有更好的查询?

0 个答案:

没有答案