Re: función csvstring_to_recordset

From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: Haroldo Stenger <haroldo(dot)stenger(at)gmail(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: función csvstring_to_recordset
Date: 2006-07-19 14:56:14
Message-ID: 20060719145614.GP4963@surnet.cl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Haroldo Stenger escribió:

> Quería pensar y resolverlo sólo con herramientas de SQL, así que
> inventé esto que puede resultar útil a alguien (además de a mí, y al
> que preguntó ;-) )
>
> Tuve que lidiar con que no encontré ninguna función de postgresql que
> me dijera cuántas veces se repite una sub-cadena (la coma) en una
> cadena.
>
> CREATE OR REPLACE FUNCTION csvstring_to_recordset(text)
> RETURNS SETOF text AS
> $BODY$
> select split_part($1, ',' , x.i) from (select
> generate_series(1, (length($1)-length(replace($1, ',' , '' )) ) +1)
> as i) x
> $BODY$
> LANGUAGE 'sql' IMMUTABLE;

Hmm, que pasa si hay una coma dentro de un string rodeado por comillas?

O sea esto

"Perez, Pedro",204-5031,"Victoria St.,290"

deben ser tres campos, no cinco.

--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2006-07-19 15:06:50 Re: INSERT INTO multiples
Previous Message Alvaro Herrera 2006-07-19 14:49:44 Re: Conversion de tipos