Postgresql Postgres拆分线条字符串并转换

Postgresql Postgres拆分线条字符串并转换,postgresql,split,postgis,plpgsql,Postgresql,Split,Postgis,Plpgsql,我的问题是如何在PL/pgSQL中构建函数来实现这一点: 我有很多这样的线串 Linestring((3.584731 60.739211,3.590472 60.738030,3.592740 60.736220)) 3.584731 60.739211 x1 y1 3.590472 60.738030 x2 y2 3.592740 60.736220 x3 y3 我需要拆分子字符串中的

我的问题是如何在PL/pgSQL中构建函数来实现这一点:

我有很多这样的线串

Linestring((3.584731 60.739211,3.590472 60.738030,3.592740 60.736220))
3.584731 60.739211  
x1            y1      

3.590472 60.738030 
x2            y2     


3.592740 60.736220
x3              y3
我需要拆分子字符串中的每个线字符串,然后在2个坐标中再次拆分,就像这样

Linestring((3.584731 60.739211,3.590472 60.738030,3.592740 60.736220))
3.584731 60.739211  
x1            y1      

3.590472 60.738030 
x2            y2     


3.592740 60.736220
x3              y3
还有其他几点。 保存答案并将其转换为双精度,以便我可以用分数进行计算。

如下使用:

SELECT ST_X(d.geom), ST_Y(d.geom)
FROM ST_DumpPoints(
    'Linestring(3.584731 60.739211,3.590472 60.738030,3.592740 60.736220)') AS d;

   st_x   |   st_y    
----------+-----------
 3.584731 | 60.739211
 3.590472 |  60.73803
  3.59274 |  60.73622
(3 rows)

您的标题是
PL/SQL
——这表示Oracle。但是在问题中,你说的是
PL/pgSQL
,这将是Postgres。您使用的是哪种数据库管理系统?Oracle还是Postgres?很抱歉,我在PL/pgSQL中需要它,并且我使用postgreSQL:)。我用的是pgAdmin IIIM我的问题是我从来没有用in-PL/pgSQL构建过函数,我需要一个项目真正需要的函数。谢谢:)现在我需要一个PL/pgSQL函数来完成这部分工作,得到的结果就像你做的那样,并用f((3.584731)²+(60.739211)²+((3.590472)²+(60.73803)²+((3.59274)²+(60.73622)这样的数字进行计算²)并将结果排成一行。这会救我的命:)我知道这没有意义,但它是一个测试函数project@sataide:所以你只是改变了你的问题。Mike的声明确实回答了“如何分割”的问题。一个问题解决后,请不要用新问题扩展问题。好的,我会这样做:)