3

我正在尝试更改 Postgres 中数据库的应用程序模式......所以我需要将数据从一个表复制到另一个表。在原始表中,坐标在两个单独的列中指定为数值,一列用于 x 值,另一列用于 y 值。在新表中,坐标需要存储为点数据类型的一个值。我如何将两个单独的数值转换为一个点?

4

1 回答 1

3

你应该能够做到:

INSERT INTO New_Table (my_id, my_point)
SELECT
    my_id,
    POINT(x, y)
FROM
    Old_Table

我的机器上没有 PostgreSQL,所以我无法测试它,但我认为这就是语法。

X 和 Y 应该是双精度数字。我不知道你的 X 和 Y 数据类型是什么,也不知道 PostgreSQL 会为你做什么隐式转换,所以你可能还需要在那里进行转换。

于 2010-06-28T18:19:46.427 回答