Em 01/07/14, Deliane Andrade<[email protected]> escreveu:
> Boa tarde!
>
> Tenho um campo do tipo string que está armazenado da seguinte forma:
> {51|15057267||5911898||563507-1827|1|1|14||||||||||||||,51|15057267||5911898||563737-1827|1|1|14||||||||||||||,51|15057267||5911898||563768-1827|1|1|26||||||||||||||,51|15057267||5911898||563564-1827|1|1|26||||||||||||||,51|15057267||5911898||563617-1827|1|1|26||||||||||||||,51|15057267||5911898||563721-1827|1|1|14||||||||||||||,51|15057267||5911898||563093-1827|1|1|26||||||||||||||,51|15057267||5911898||563092-1827|1|1|12|26|||||||||||||,51|15057267||5911898||563722-1827|1|1|14||||||||||||||,51|15057267||5911898||586654-1827|1|1|26||||||||||||||,51|15057267||5911898||563369-1827|1|1|26||||||||||||||,51|15057267||5911898||585761-1827|1|1|26||||||||||||||,51|15057267||5911898||563080-1827|1|1|26||||||||||||||,51|15057267||5911898||563094-1827|1|1|26||||||||||||||}
>
> Eu preciso quebrar essa string a cada vírgula (e sem as chaves também)  com
> quebra de linha ,de forma que fique assim:
>
> 51|15057267||5911898||563507-1827|1|1|14||||||||||||||
> 51|15057267||5911898||563737-1827|1|1|14||||||||||||||
> 51|15057267||5911898||563768-1827|1|1|26||||||||||||||
> 51|15057267||5911898||563564-1827|1|1|26||||||||||||||
> 51|15057267||5911898||563617-1827|1|1|26||||||||||||||
> 51|15057267||5911898||563721-1827|1|1|14||||||||||||||
> 51|15057267||5911898||563093-1827|1|1|26||||||||||||||
> 51|15057267||5911898||563092-1827|1|1|12|26|||||||||||||
> 51|15057267||5911898||563722-1827|1|1|14||||||||||||||
> 51|15057267||5911898||586654-1827|1|1|26||||||||||||||
> 51|15057267||5911898||563369-1827|1|1|26||||||||||||||
> 51|15057267||5911898||585761-1827|1|1|26||||||||||||||
> 51|15057267||5911898||563080-1827|1|1|26||||||||||||||
> 51|15057267||5911898||563094-1827|1|1|26||||||||||||||
>
> Ele deverá ficar armazenado desta forma em um único campo text.
> Tem como?
> Já tentei várias  funções que trabalham com string,mas não consegui.
> Alguém já fez algo do tipo?
>


SELECT 
regexp_replace(regexp_replace('{51|15057267||5911898||563507-1827|1|1|14||||||||||||||,51|15057267||5911898||563737-1827|1|1|14||||||||||||||,51|15057267||5911898||563768-1827|1|1|26||||||||||||||,51|15057267||5911898||563564-1827|1|1|26||||||||||||||,51|15057267||5911898||563617-1827|1|1|26||||||||||||||,51|15057267||5911898||563721-1827|1|1|14||||||||||||||,51|15057267||5911898||563093-1827|1|1|26||||||||||||||,51|15057267||5911898||563092-1827|1|1|12|26|||||||||||||,51|15057267||5911898||563722-1827|1|1|14||||||||||||||,51|15057267||5911898||586654-1827|1|1|26||||||||||||||,51|15057267||5911898||563369-1827|1|1|26||||||||||||||,51|15057267||5911898||585761-1827|1|1|26||||||||||||||,51|15057267||5911898||563080-1827|1|1|26||||||||||||||,51|15057267||5911898||563094-1827|1|1|26||||||||||||||}',
',', E'\n', 'g'), '[{}]', '', 'g');
                      regexp_replace
----------------------------------------------------------
 51|15057267||5911898||563507-1827|1|1|14||||||||||||||  +
 51|15057267||5911898||563737-1827|1|1|14||||||||||||||  +
 51|15057267||5911898||563768-1827|1|1|26||||||||||||||  +
 51|15057267||5911898||563564-1827|1|1|26||||||||||||||  +
 51|15057267||5911898||563617-1827|1|1|26||||||||||||||  +
 51|15057267||5911898||563721-1827|1|1|14||||||||||||||  +
 51|15057267||5911898||563093-1827|1|1|26||||||||||||||  +
 51|15057267||5911898||563092-1827|1|1|12|26|||||||||||||+
 51|15057267||5911898||563722-1827|1|1|14||||||||||||||  +
 51|15057267||5911898||586654-1827|1|1|26||||||||||||||  +
 51|15057267||5911898||563369-1827|1|1|26||||||||||||||  +
 51|15057267||5911898||585761-1827|1|1|26||||||||||||||  +
 51|15057267||5911898||563080-1827|1|1|26||||||||||||||  +
 51|15057267||5911898||563094-1827|1|1|26||||||||||||||
(1 row)

Osvaldo
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a