我有一个带有这样的 JSON 文件的字段:
"{\"names\":[\"James\",\"Bob\",\"Kate\",\"Tim\",\"Jerald\",\"Massimo\",\"Drake\",\"Ellen\"],\"country\":[\"Usa\",\"Montenegro\",\"Turkey\",\"Spain\"]}"
我只想获取该国家/地区的该字段包含“美国”的那些行。所以我试着这样写:
select *
from table
where json_field :: jsonb @> '{"country":"USA"}'::jsonb == True
但是,我的解释器指出,
message [ERROR: type "jsonb" does not exist]
也许还有另一种方法可以检查 postgres 中的值?也试过这个
json_field->'country' @> '"USA"'
但这会返回这个
message [ERROR: operator does not exist: json @> unknown