Postgres как использовать тип точки в запросе - PullRequest
1 голос
/ 10 февраля 2020

Здравствуйте, у меня есть таблица Postgres SQL, один столбец имеет тип точки

CREATE TABLE public.geometry_cylinder
(
    id          serial not null primary key,
    distance    float not null,
    height      float not null,
    coordinates point not null

);

как я могу использовать одну из координат x или y в запросе SQL?

select * from public.geometry_cylinder where coordinates.x > 14.24

1 Ответ

2 голосов
/ 10 февраля 2020

point не является типом записи, поэтому вы не можете получить доступ к x и y, используя точечную запись (хотя я допускаю, что это было бы логично). Объяснение, как это сделать, немного скрыто в руководстве :

Можно получить доступ к двум номерам компонентов точки, как если бы точка была массивом с индексы 0 и 1. Например, если tp является точечным столбцом, тогда SELECT p [0] FROM t получает координату X

Так что вы можете использовать:

select * 
from public.geometry_cylinder 
where coordinates[0] > 14.24;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...