Beto,
--query 1, com ER, retornando apenas uma linha
SELECT COUNT(1)
FROM regexp_matches('a,b,c,d,a,c', 'a', 'g');
/* Resultado
count
--------
2
(1 rows)
*/
--query 2, usandos o padrão da string separado por virgulas
SELECT x.x[i] , count(*)
FROM string_to_array('a,b,c,d,a,c', ',') AS x,
generate_series(1,array_upper(string_to_array(cast('a,b,c,d,a,c'
as text),','),1)) AS i
GROUP BY 1;
/* Resultado
x | count
--------+-----------
b | 1
c | 2
d | 1
a | 2
(4 rows)
*/
Espero ter ajudado.
Emerson Hermann
Em 5 de abril de 2011 09:11, Beto Lima <[email protected]> escreveu:
> desta forma não deu certo, talvez tenha explicado mal.
> ex: Rua:|João Pereira|344|Centro
>
> preciso contar quantos pipes existem nessa ocorrência. Neste caso 3.
>
>
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral