PostgreSQL:将两个单独的数值转换为一个点

发布于 2024-09-06 23:55:12 字数 135 浏览 5 评论 0原文

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

I'm trying to change the application schema of a database in Postgres...so I need to copy data from one table to another. In the original table, co-ordinates are specified as numeric values in two separate columns, one for the x value and one for the y value. In the new table, the co-ordinates need to be stored as one value of the point data type. How would I cast the two separate numeric values into one that is a point?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

再浓的妆也掩不了殇 2024-09-13 23:55:12

你应该能够这样做:

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

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

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

You should be able to do:

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

I don't have PostgreSQL on my machine here, so I can't test it, but I think that's the syntax.

X and Y are supposed to be double precision numerics. I don't know what your X and Y data types are and I don't know what implicit conversions PostgreSQL will do for you, so you may need to do a convert there as well.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文