Sep 17
Criar função no PostgreSQL GROUP_CONCAT equivalente ao GROUP_CONCAT MySQL
MySQL, PostgreSQL Comentar >> Marcelo KorjenioskiHoje estava preÂciÂsando conÂcaÂteÂnar dados de um campo e desÂcoÂbri que no PostÂgreSQL não existe uma funÂção equiÂvaÂlente ao group_concat do MySQL.
ExemÂplo do MySQL
select GROUP_CONCAT(nome ORDER BY nome DESC SEPARATOR ',') as nomes from usuarios
Então proÂcuÂrando na web enconÂtrei esta função.
create aggregate array_accum (
sfunc = array_append,
basetype = anyelement,
stype = anyarray,
initcond = '{}'
);
CREATE OR REPLACE FUNCTION _group_concat(text, text)
RETURNS text AS $$
SELECT CASE
WHEN $2 IS NULL THEN $1
WHEN $1 IS NULL THEN $2
ELSE $1 operator(pg_catalog.||) ',' operator(pg_catalog.||) $2
END
$$ IMMUTABLE LANGUAGE SQL;
CREATE AGGREGATE group_concat (
BASETYPE = text,
SFUNC = _group_concat,
STYPE = text
);
Para exeÂcuÂtar a funÂção basta usar.
select group_concat(distinct nome) as nomes from usuarios
Caso tenha alguma duvida ou sugesÂtão deixe um comenÂtáÂrio que terei praÂzer em ajuÂdar.
ComenÂtáÂrios são bem vinÂdos assim posso melhoÂrar a quaÂliÂdade dos tutoÂriÂais aqui apresentados.
É isso pesÂsoal uma ótima semana e até o próximo post.
http://www.dbrunas.com.ar/2009/09/17/tip-criar-funcao-no-postgresql-group_concat-equivalente-ao-group_concat-mysql/ TIP: Criar funÂção no PostÂgreSQL GROUP_CONCAT equiÂvaÂlente ao GROUP_CONCAT MySQL — DbRunas
http://www.dnrcriartes.com.br danni
http://www.phaneronsoft.com MarÂcelo Korjenioski