tenta assim.

SQL> select
substr('01133335555',-11,3)||'-'||substr('01133335555',-8,4)||'-'||substr('01133335555',-4,4)
telefone from dual;
TELEFONE
-------------
011-3333-5555
SQL>

Em 1 de junho de 2010 13:50, Flaviano, Wellington (GE Capital) <
wellington.flavi...@ge.com> escreveu:

>
>
> Braga.
> Executei o mesmo select que voce passou (abaixo) e dá esse erro, disseram
> que é por causa da versão do banco, que utilizo o 8g.
>
>
> select '01133335555' original, regexp_replace('01133335555',
> > '^(\d{3})(\d{4})(\d{4})$', '\1-\2-\3') modificado from dual
>
> []'s
>
>
> -----Original Message-----
> From: oracle_br@yahoogrupos.com.br <oracle_br%40yahoogrupos.com.br>[mailto:
> oracle_br@yahoogrupos.com.br <oracle_br%40yahoogrupos.com.br>] On Behalf
> Of Marcos Braga
> Sent: Tuesday, June 01, 2010 1:48 PM
> To: oracle_br@yahoogrupos.com.br <oracle_br%40yahoogrupos.com.br>
>  Subject: Re: [oracle_br] Função SUBSTR
>
> O erro reporta um caracter inválido na string.
>
> Seguinte, o código que passei só vai funcionar quando encontrar campo com
> números (há como mudar isso).
>
> Uma questão para levar em consideração é: os caracteres que tem no campo de
> telefone são somente números?
>
> Gostaria que postasse o código que executou juntamente com o erro, vai
> melhorar o entendimento.
>
> []s
> Braga
>
> Em 1 de junho de 2010 10:58, Flaviano, Wellington (GE Capital) <
> wellington.flavi...@ge.com <wellington.flaviano%40ge.com>> escreveu:
>
> >
> >
> > Marcos.
> > Ao executar o comando aparece o seguinte erro: ORA-00904:
> "REGEXP_REPLACE":
> > invalid identifier ... o que pode ser? Permissão de acesso?
> >
> > []'s
> >
> > -----Original Message-----
> > From: oracle_br@yahoogrupos.com.br 
> > <oracle_br%40yahoogrupos.com.br><oracle_br%
> 40yahoogrupos.com.br>[mailto:
> > oracle_br@yahoogrupos.com.br <oracle_br%40yahoogrupos.com.br><oracle_br%
> 40yahoogrupos.com.br>] On Behalf
> > Of Marcos Braga
> > Sent: Tuesday, June 01, 2010 10:20 AM
> > To: oracle_br@yahoogrupos.com.br <oracle_br%40yahoogrupos.com.br><oracle_br%
> 40yahoogrupos.com.br>
> > Subject: Re: [oracle_br] Função SUBSTR
> >
> > Olá,
> >
> > Observe este pequeno exemplo:
> >
> > SQL> select '01133335555' original, regexp_replace('01133335555',
> > '^(\d{3})(\d{4})(\d{4})$', '\1-\2-\3') modificado from dual;
> >
> > ORIGINAL MODIFICADO
> > ----------- -------------
> > 01133335555 011-3333-5555
> >
> > 1 linha selecionada.
> >
> > Creio que isso resolverá seu problema:
> > regexp_replace(NR_FONE_PRINCIPAL, '^(\d{3})(\d{4})(\d{4})$', '\1-\2-\3')
> >
> > Tenho um exemplo bem parecido, formatando CPF neste endereço:
> >
> >
> http://profissionaloracle.com.br/blogs/braga/2009/07/06/formatando-saida-com-regexp_replace-cpf/
> >
> > []s
> > Braga
> >
> > Em 1 de junho de 2010 09:37, Flaviano, Wellington (GE Capital) <
> > wellington.flavi...@ge.com 
> > <wellington.flaviano%40ge.com><wellington.flaviano%
> 40ge.com>> escreveu:
> >
> > >
> > >
> > > Pessoal, já peço desculpas pela dúvida, mas não manjo de oracle como de
> > > mssql ... então vamos lá.
> > >
> > > Tenho o campo NR_TELEFONE que é preenchido assim: 01133335555 e quero
> > > transformar ele assim 011-3333-5555 e um simples select
> > >
> > > Estou fazendo da seguinte forma:
> > TO_CHAR(MAX(SUBSTR(NR_FONE_PRINCIPAL,1,3))
> > > + '-' + MAX(SUBSTR(NR_FONE_PRINCIPAL,4,4)) + '-' +
> > > MAX(SUBSTR(NR_FONE_PRINCIPAL,8,4))) AS NR_FONE_PRINCIPAL
> > >
> > > Só que não está funcionando o que estou fazendo de errado?
> > >
> > > Valeu.
> > >
> > >
> > > [As partes desta mensagem que não continham texto foram removidas]
> > >
> > >
> > >
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> > ------------------------------------
> >
> > ----------------------------------------------------------
> > >Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de
> > inteira responsabilidade de seus remetentes.
> > Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/
> > ----------------------------------------------------------
> > >Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package »
> Procedure
> > » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE:
> > http://www.oraclebr.com.br/
> > ---------------------------------------------------------- Links do
> Yahoo!
> > Grupos
> >
> >
> >
>
> [As partes desta mensagem que não continham texto foram removidas]
>
> ------------------------------------
>
> ----------------------------------------------------------
> >Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de
> inteira responsabilidade de seus remetentes.
> Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/
> ----------------------------------------------------------
> >Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure
> » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE:
> http://www.oraclebr.com.br/
> ---------------------------------------------------------- Links do Yahoo!
> Grupos
>
>  
>


[As partes desta mensagem que não continham texto foram removidas]



------------------------------------

--------------------------------------------------------------------------------------------------------------------------
>Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira 
>responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
--------------------------------------------------------------------------------------------------------------------------
>Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure » 
>Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: 
>http://www.oraclebr.com.br/  
------------------------------------------------------------------------------------------------------------------------
 Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/oracle_br/

<*> Para sair deste grupo, envie um e-mail para:
    oracle_br-unsubscr...@yahoogrupos.com.br

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html


Responder a