Split String mit zwei Trennzeichen und Konvertierungstyp

Ich habe eine PL / pgSQL-Funktion wie diese (danke an denjenigen, der dies ermöglicht hat):

 CREATE OR REPLACE FUNCTION public.split_string(text, text)
    RETURNS SETOF text
    LANGUAGE plpgsql
    AS $function$
    DECLARE 
      pos int; 
      delim_length int := length($2);
    BEGIN
      WHILE $1 <> ''
      LOOP
        pos := strpos($1,$2);
        IF pos > 0 THEN
          RETURN NEXT substring($1 FROM 1 FOR pos - 1);
          $1 := substring($1 FROM pos + delim_length);
        ELSE
          RETURN NEXT $1;
          EXIT;
        END IF; 
      END LOOP;
      RETURN;
    END;
    $function$

It teilt einen String mit einem Trennzeichen. So was

select * from split_string('3.584731 60.739211,3.590472 60.738030,3.592740 60.736220', ' ');

"3.584731"
"60.739211,3.590472"
"60.738030,3.592740"
"60.736220"

Wie kann ich die Ergebnisse in einem temp_array oder temp_table speichern? So kann ich die Ergebnisse in temp_x erhalten und diese Punkte wieder aufteilen. Mögen

"3.584731"
"60.739211"
"3.590472"
"60.738030"
"3.592740"
"60.736220"

und geben die Werte als @ zurüdouble precision. Und das alles sollte in der Funktion gemacht werden.

Antworten auf die Frage(6)

Ihre Antwort auf die Frage