Então Fabrizio, criei uma “funçãozinha” pra me ajudar nos results valeu pela força.
CREATE OR REPLACE FUNCTION fremovechar(character varying)
RETURNS character varying AS
$BODY$
SELECT regexp_replace($1, '[^0-9]', '', 'g')
$BODY$
LANGUAGE sql VOLATILE
COST 100;
ALTER FUNCTION fremovechar(character varying) OWNER TO postgres;
USO:
select fremovechar(‘teste1234’)
Bem como está funcionando imagino que esteja tudo OK na função, não estou muito
acostumado a criar as funções no proprio banco.
Fica aí no historico pra ajudar quem precisar.
Marcelo Silva
--------------------------------------------------
From: Fabrízio de Royes Mello
Sent: Wednesday, March 02, 2011 10:01 AM
To: Marcelo Silva (IG) ; Comunidade PostgreSQL Brasileira
Subject: Re: [pgbr-geral] Translate de [A a Z]
Em 2 de março de 2011 09:49, Marcelo Silva (IG) <[email protected]> escreveu:
Pessoal sei que posso fazer
SELECT TRANSLATE('teste1234', 'et', '')
E ele vai retirar todos os “e” e “t” da palavra
Tem como abreviar com array para [A..Z, a..z] ?
A pergunta é só por comodidade e para deixar o codigo mais limpo, pra não ter
aquela string enorme na funcao
Preciso deixar somente os numeros na string de “teste1234” para “1234”
Tente usando expressões regulares:
postgres@bdteste=# SELECT regexp_replace('teste1234', '[^0-9]', '', 'g');
regexp_replace
----------------
1234
(1 row)
--
Fabrízio de Royes Mello
>> Blog sobre TI: http://fabriziomello.blogspot.com
>> Perfil Linkedin: http://br.linkedin.com/in/fabriziomello
<<wlEmoticon-smile[1].png>>
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
