Conversão

Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
filipe009
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 19
Registrado em: Seg, 28 Jan 2008 6:42 pm
Localização: Niterói - RJ

Bom vamos lá
Tenho um campo com os seguintes dominios:

Campo A-
2126302240
21233456F
2133445=
2334567898
2144566=5

Preciso de uma função do oracle q me possibilite retornar somente os numeros do Campo A.
Existe alguma função pre-definda no Oracle capaz de fazer isso, caso a resposta sejá sim qual?

:-o


Marlon Costa
Rank: Programador Pleno
Rank: Programador Pleno
Mensagens: 32
Registrado em: Qui, 03 Abr 2008 10:44 pm
Localização: Salvador - BA
Contato:
Saudações

Marlon Costa (marlonsc@conit.com.br)
DBA Sênior - Oracle OCP DB 9i e 10g, OCA AS 9i
CONIT - http://www.conit.com.br - Salvador - BA
Conectando Inteligência e Tecnologia

Caro Filipe,

Se você tiver um banco 10g, pode usar a função REGEXP_SUBSTR.

Exemplo:

select REGEXP_SUBSTR('campoa', '[[:digit:]]+', 1, 1)+||+
REGEXP_SUBSTR('campoa', '[[:digit:]]+', 1, 2)+||+
REGEXP_SUBSTR('campoa', '[[:digit:]]+', 1, 3)+||+
REGEXP_SUBSTR('campoa', '[[:digit:]]+', 1, 4)+||+
REGEXP_SUBSTR('campoa', '[[:digit:]]+', 1, 5)+||+
REGEXP_SUBSTR('campoa', '[[:digit:]]+', 1, 6)+||+
REGEXP_SUBSTR('campoa', '[[:digit:]]+', 1, 7)+||+
REGEXP_SUBSTR('campoa', '[[:digit:]]+', 1, 8)+||+
REGEXP_SUBSTR('campoa', '[[:digit:]]+', 1, 9) from tabelaA;

Não consegui encontrar uma solução mais simples que essa, mas ela pelo menos funciona com até 9 sequencias de números em uma string
Trevisolli
Moderador
Moderador
Mensagens: 2016
Registrado em: Qua, 12 Jan 2005 3:25 pm
Localização: Araraquara - SP
Abraço,

Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP

Tópico movido para o grupo de SQL.
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 13 visitantes