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

Responder a