3

Postgres でデータベースのアプリケーション スキーマを変更しようとしています...そのため、あるテーブルから別のテーブルにデータをコピーする必要があります。元のテーブルでは、座標は 2 つの別々の列 (x 値用と y 値用) で数値として指定されます。新しいテーブルでは、座標をポイント データ型の 1 つの値として格納する必要があります。2 つの個別の数値を 1 つのポイントにキャストするにはどうすればよいですか?

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 に答える