PostgreSQL: приведение двух отдельных числовых значений к точке - PullRequest
2 голосов
/ 28 июня 2010

Я пытаюсь изменить схему приложения базы данных в Postgres ... поэтому мне нужно скопировать данные из одной таблицы в другую. В исходной таблице координаты указываются в виде числовых значений в двух отдельных столбцах: один для значения x и один для значения y. В новой таблице координаты должны быть сохранены как одно значение типа точечных данных. Как бы я преобразовал два отдельных числовых значения в одно, что является точкой?

1 Ответ

2 голосов
/ 28 июня 2010

Вы должны быть в состоянии сделать:

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

У меня нет PostgreSQL на моей машине, поэтому я не могу его протестировать, но я думаю, что это синтаксис.

X и Y должны быть числами двойной точности.Я не знаю, каковы ваши типы данных X и Y, и я не знаю, какие неявные преобразования сделает для вас PostgreSQL, поэтому вам, возможно, потребуется также выполнить конвертацию.

...