Conversão

Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
  

Mensagemem Sex, 11 Abr 2008 8:48 pm

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


filipe009
Localização: Niterói - RJ

Mensagemem Sáb, 12 Abr 2008 2:36 pm

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
Marlon Costa
Localização: Salvador - BA

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

Mensagemem Seg, 14 Abr 2008 9:09 am

Tópico movido para o grupo de SQL.
Trevisolli
Localização: Araraquara - SP

Abraço,

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



Voltar para SQL

Quem está online

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