Postgis:从 json 类型列中获取值
Postgis: Get value from json type column
我有包含 lat/lon 值的列,格式如下:
{ "lat": 35.910067092299997, "lon": -79.074502748100002 }
我认为这是 JSON 格式,所以我尝试使用我发现的一些示例,包括这种类型的运算符 ->> @> ... 但没有任何效果,查询仍然没有执行。
我做错了什么?
我得到的错误示例:
ERROR: operator does not exist: character varying @> unknown
您的错误告诉您等式的左侧是 "character varying"(固定长度的文本数据类型),因此您不能在其上使用 json 运算符。
首先,您必须将其转换为 json 或 jsonb 类型,然后一切正常。
select '{ "lat": 35.910067092299997, "lon": -79.074502748100002 }'::json->'lat'
我有包含 lat/lon 值的列,格式如下:
{ "lat": 35.910067092299997, "lon": -79.074502748100002 }
我认为这是 JSON 格式,所以我尝试使用我发现的一些示例,包括这种类型的运算符 ->> @> ... 但没有任何效果,查询仍然没有执行。
我做错了什么? 我得到的错误示例:
ERROR: operator does not exist: character varying @> unknown
您的错误告诉您等式的左侧是 "character varying"(固定长度的文本数据类型),因此您不能在其上使用 json 运算符。 首先,您必须将其转换为 json 或 jsonb 类型,然后一切正常。
select '{ "lat": 35.910067092299997, "lon": -79.074502748100002 }'::json->'lat'