PostgreSQL选择查询从一个点提取纬度和经度

raf*_*fis 6 postgresql point latitude-longitude

什么SELECT查询应该用于从一个点提取纬度和经度?
我不能使用PostGIS.

存储在数据库中的示例点(点类型值):

   my_point
--------------
(50.850,4.383)

执行查询后的预期结果:

  lat  |  lng
---------------
50.850 | 4.383

下面的查询工作正常,但它看起来效率不高.

SELECT 
    split_part(trim(my_point::text, '()'), ',', 1)::float AS lat, 
    split_part(trim(my_point::text, '()'), ',', 2)::float AS lng
FROM my_table;
Run Code Online (Sandbox Code Playgroud)

Ric*_*ton 9

始终阅读精细手册

可以访问一个点的两个分量编号,就好像该点是一个索引为0和1的数组.例如,如果tp是一个点列,那么SELECT p [0] FROM t将检索X坐标和UPDATE t SET p 1 = ...改变Y坐标.同样,box或lseg类型的值可以视为两个点值的数组.