Postgis:从json类型列获取值

时间:2018-10-21 16:45:37

标签: postgresql postgis jsonb

我有经/纬度值的列,其格式为:

{ "lat": 35.910067092299997, "lon": -79.074502748100002 }

我认为这是JSON格式,因此我尝试使用一些发现的示例,包括这种类型的运算符->> @> ...但无济于事,查询仍然无法执行。

我做错了什么? 我收到的错误示例:

ERROR:  operator does not exist: character varying @> unknown

1 个答案:

答案 0 :(得分:0)

您的错误告诉您,方程式的左侧是“字符变化”(具有固定长度的文本数据类型),因此您不能在其上使用json运算符。 首先,您必须将其转换为json或jsonb类型,然后一切正常。

select '{ "lat": 35.910067092299997, "lon": -79.074502748100002 }'::json->'lat'