From: | "Jairo Grateron" <jgrateron(at)gmail(dot)com> |
---|---|
To: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Pgplsql extraño |
Date: | 2007-01-25 16:23:46 |
Message-ID: | b6f02a050701250823o330d84bdp9b2a25ef34e51db5@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Ya la probe y funciona de maravilla, hize una variante para concatenar
enteros
---------------------------------------------------------
CREATE OR REPLACE FUNCTION f_concat_int(text, int4)
RETURNS text AS
$BODY$BEGIN
IF $1 IS NULL AND $2 IS NULL THEN
RETURN '';
END IF;
IF $1 IS NULL THEN
RETURN to_char($2,'FM999');
END IF;
IF $2 IS NULL THEN
RETURN $1;
END IF;
RETURN $1 || ',' || to_char($2,'FM999');
END;$BODY$
LANGUAGE 'plpgsql' VOLATILE;
---------------------------------------------------------
CREATE AGGREGATE concat_int(
BASETYPE=int4,
SFUNC=f_concat_int,
STYPE=text
);
---------------------------------------------------------
select concat_int(id) as idUsuarios_con_coma from Usuarios
idUsuarios_con_coma
--------------------
1,23,4,5,6,7,8
(1 fila)
No se si es la mejor manera para convertir de enteros a string...
El día 24/01/07, Alvaro Herrera <alvherre(at)commandprompt(dot)com> escribió:
>
> Alvaro Herrera escribió:
> > Jaime Casanova escribió:
> >
> > > Alguno de ustedes reviso la solución de Alvaro? se la ve
> > > interesante... no la entendi a decir verdad pero hoy no me duermo
> > > hasta entenderla...
> >
> > Pero como, si es muy simple :-) Lo unico que hace es crear una funcion
> > tal que dados dos textos no nulos, entrega un texto que es la
> > concatenacion de los dos separados por una coma. Si uno de ellos es
> > nulo, entonces entrega el otro sin ninguna coma. Es decir
> >
> > concat_comma('foo', 'bar') -> 'foo, bar'
> > concat_comma(null, 'baz') -> 'baz'
>
> Me acabo de dar cuenta que hay un problema; la funcion debe ser
> declarada CALLED ON NULL INPUT para que esto funcione.
>
> --
> Alvaro Herrera
> http://www.CommandPrompt.com/
> PostgreSQL Replication, Consulting, Custom Development, 24x7 support
>
> ---------------------------(fin del mensaje)---------------------------
> TIP 3: si publicas/lees desde Usenet, por favor envía "subscribe-nomail"
> a majordomo(at)postgresql(dot)org para que tus mensajes puedan llegar
> a los suscriptores de la lista
>
From | Date | Subject | |
---|---|---|---|
Next Message | José Manuel Ruiz | 2007-01-25 16:33:09 | Re: Borrado de base de datos |
Previous Message | Raitme | 2007-01-25 15:37:18 | me podian ayudar a encontrar informacion sobre como crear reglas para incluir, modificar y eliminar |