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