Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
-
douglasmattos
- Rank: Analista Júnior
- Mensagens: 75
- Registrado em: Seg, 19 Mar 2012 2:28 pm
Pessoal, boa tarde!
Estou com uma dúvida que deve ser bem simples de ser resolvida..
em uma tabela tenho o campo CEP que esta armazenaodo da seguinte forma: 05860120
Quando eu executar o select preciso que seja retornado da seguinte forma: 05860-120
(com o traço).
Se alguém souber por favor me ajudem...
Abraço
-
diegolenhardt
- Moderador
- Mensagens: 1177
- Registrado em: Qui, 15 Out 2009 10:28 am
- Localização: Recife
-
DanielNN
- Moderador
- Mensagens: 641
- Registrado em: Seg, 03 Set 2007 3:26 pm
- Localização: Fortaleza - CE
att,
Daniel N.N.
Use expressão regular:
Selecionar tudo
select regexp_replace('05860120', '([[:digit:]]{5})([[:digit:]]{3})', '\1-\2') as CEP_FORMAT from dual;
OBS: Garanta que tenha sempre 8 dígitos.
-
Rafael_Santos
- Rank: Analista Júnior
- Mensagens: 72
- Registrado em: Sex, 18 Nov 2011 4:51 pm
Olá Douglas,
além da solução do Noctifero, você poderá tentar:
Selecionar tudo
SELECT substr( ' 05860120 ' , 1 , 5 ) || ' - ' || substr( ' 05860120 ' , 6 , length(' 05860120 ' ) ) AS CEP_FORMAT
FROM dual;
-
Usuários navegando neste fórum: Nenhum usuário registrado e 19 visitantes