【发布时间】:2019-12-29 10:33:05
【问题描述】:
我有几何数据,我正在尝试将其转换为 lon lat 并存储在新列中。我创建了一个名为“坐标”的新列并编写了以下查询:
UPDATE places_centroids
SET coordinates = st_y(st_transform(new_centroid, 4326)) AS lat,
st_x(st_transform(new_centroid, 4326)) AS lon;
但它返回:ERROR: ERROR: syntax error at or near 第 2 行:...坐标 = st_y(st_transform(new_centroid, 4326)) AS lat,
但是,当我使用 select 语句编写查询时,它可以正常工作:
SELECT st_y(st_transform(new_centroid, 4326)) AS lat,
st_x(st_transform(new_centroid, 4326)) AS lon
FROM places_centroids;
谁能看到我的查询出了什么问题?
【问题讨论】:
-
坐标是什么列类型?
-
去掉
as ..部分,它们在SET子句中无效 -
双精度。好的,但是没有'as'我该怎么做呢?
-
如何将两个值存储到一个
double precision列中? -
那是真正的 wildplasser.. 但是如果我创建两列,一列包含 lat,一列包含 lon?
标签: postgresql sql-update postgis