ST_X
描述
当 point 是一个合法的 POINT 类型时,返回对应的 X 坐标值
语法
ST_X( <point>)
参数
参数 | 说明 |
---|---|
<point> | 待提取 X 坐标的几何对象,必须是有效的 POINT 类型(二维点),x纬度范围为[-180,180],y纬度范围为[-90,90] |
返回值
几何坐标中的 X 值,类型为双浮点精度小数Double
- 若输入为有效的 POINT 对象,返回该点的 X 坐标(双精度浮点数 Double)。
- 若输入为 NULL、非 POINT 类型对象、空点(POINT EMPTY)或无效点(如三维点),返回 NULL。
举例
提取有效点的 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 |
+------------------------------------------+
输入为三维点(不支持)
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 |
+-----------------------------+