Voir un article

Postgresql : function concat

besoin d'une fonction d'aggrégation par concaténation ? c'est possible
Voici comment créer la fonction d'aggrégation "concat()" sur postgres qui vous permettra sur une table de faire par exemple :

select nom from personne ;
toto
tata
raoul

select concat(nom||', ') from personne ;
toto, tata, raoul


Pour créer la fonction concat() passez sous Postgres avec un user qui a les privilèges suffisants et copier coller ceci :


CREATE OR REPLACE FUNCTION sconcat( TEXT, TEXT ) RETURNS TEXT AS '
   select CASE WHEN $1 is null and $2 is null THEN '''' ELSE
      ( select CASE WHEN $1 is null THEN $2  ELSE
         (  select CASE WHEN  $2 is null THEN $1 ELSE $1 || $2  END )
         END )
   END;
--    select $1 || $2 ;
' LANGUAGE 'sql';

drop AGGREGATE  concat( text );
CREATE AGGREGATE concat( BASETYPE = text, SFUNC = sconcat, STYPE = text, initcond1 = '');



5 709 clics - Créé le 16/12/2010 par Tito - Modifié le 16/12/2010



Réagissez, commentez, discutez ...

1 réaction.

  • par nike pas cher (non connecté) - 15/08/2013 09:09

    Très bon pints, learn 2012 vue de la plus vache a, impatients de plusieurs de vos idées merveilleuses, merci, que Dieu vous bénisse!




Partager ?

diaspora  G+  facebook  twitter  Digg  Yahoo  Delicious  Technorati  myspace


Voir d'autres articles en rapport avec celui-ci ?



Stats des clics sur cet article : cliquez ici »



Vous voulez contribuer et publier un article dans cette rubrique ?

Merci de vous identifier ou de vous créer un compte si ce n'est pas déjà fait.