Перейти к содержимому
Последнее обновление

ST_X

Описание​

Если точка является корректным объектом типа POINT, возвращает значение её координаты X.

Синтаксис​

ST_X( <point>)

Параметры​

ПараметрОписание
<point>Геометрический объект, из которого извлекается координата X. Должен быть корректным объектом типа POINT (2D-точкой), где диапазон X (долготы) составляет [-180, 180], а диапазон Y (широты) составляет [-90, 90].

Возвращаемое значение​

Значение координаты X геометрического объекта в виде числа с плавающей запятой двойной точности (Double).

  • Возвращает координату X точки (число с плавающей запятой двойной точности, Double), если входное значение является корректным объектом POINT.
  • Возвращает NULL, если входное значение является NULL, объектом типа, отличного от POINT, пустой точкой (POINT EMPTY) или некорректной точкой (например, 3D-точкой).

Пример​

Извлечение координаты X корректной точки

SELECT ST_X(ST_Point(24.7, 56.7));
+----------------------------+
| st_x(st_point(24.7, 56.7)) |
+----------------------------+
| 24.7 |
+----------------------------+

На вход подаётся пустая точка (POINT EMPTY)

mysql> SELECT ST_X(ST_GeometryFromText("POINT EMPTY"));
+------------------------------------------+
| ST_X(ST_GeometryFromText("POINT EMPTY")) |
+------------------------------------------+
| NULL |
+------------------------------------------+

На вход подаётся 3D-точка (не поддерживается)


mysql> SELECT ST_X(ST_GeometryFromText("POINT (10 20 30)"));
+-----------------------------------------------+
| ST_X(ST_GeometryFromText("POINT (10 20 30)")) |
+-----------------------------------------------+
| NULL |
+-----------------------------------------------+

На вход подаётся NULL

mysql> SELECT ST_X(NULL);
+------------+
| ST_X(NULL) |
+------------+
| NULL |
+------------+

Долгота выходит за допустимый диапазон

mysql> SELECT ST_X(ST_Point(244.7, 56.7));
+-----------------------------+
| ST_X(ST_Point(244.7, 56.7)) |
+-----------------------------+
| NULL |
+-----------------------------+

Широта выходит за допустимый диапазон

mysql> SELECT ST_X(ST_Point(44.7, 156.7));
+-----------------------------+
| ST_X(ST_Point(44.7, 156.7)) |
+-----------------------------+
| NULL |
+-----------------------------+