Ola amigos!
Atualmente em meu emprego trabalho bastante com Banco de Dados, ORACLE, desenvolvendo consultas, relatórios e dando manutenção em registros. Como eu, também existem várias pessoas que trabalham com Banco de Dados e sempre precisamos criar máscaras para retorno de campos.
Hoje (18/01/2012) estava precisando criar uma relação com informação de CPF das pessoas, e não estava achando um jeito fácil de retornar o CPF com máscara. Por isso comecei a fazer uma pesquisa para descobrir se existe uma maneira de fazer isso.
Encontrei um código, não é simples, mas traz o resultado esperado e acho que vai ajudar muitas pessoas.
Irei fazer algumas explicações sobre o código e darei algumas dicas para que a sua consulta fique sem erros. O código encontrasse abaixo.
-- Para gerar máscara do CPF
Decode(cpf, NULL,NULL,Translate(To_Char(cpf/100,'000,000,000.00'),',.','.-')) AS cpf_com_mascara
-- Para gerar máscara do CNPJ
Decode(cnpj,NULL,NULL,REPLACE(REPLACE(REPLACE(To_Char(LPad(REPLACE(cnpj,''),14 ,'0'),'00,000,000,0000,00'),',','.'),' ') ,'.'||Trim(To_Char(Trunc(Mod(LPad(cnpj,14,'0'),1000000)/100),'0000'))||'.' ,'/'||Trim(To_Char(Trunc(Mod(LPad(cnpj,14,'0'),1000000)/100) ,'0000'))||'-')) AS cnpj_com_mascara
Para que o código funcione corretamente deve ser realizada algumas modificações:
- Trocar campo "cpf" pelo campo de CPF do seu banco de dados;
- Trocar campo "cnpj" pelo campo de CNPJ do seu banco de dados;
- Não pode existir CFP ou CNPJ em branco no banco de dados, senão dará erro no retorno da consulta;
- Caso queira fazer as duas consultas ao mesmo tempo, basta utilizar a expressão CASE.
Para exemplificar tal código eu criei uma consulta em meu banco de dados o qual está funcionando corretamente. Acesse aqui!
Qualquer duvida só deixar nos comentários que eu ajudarei no que eu puder.
Abraços.
Fonte: Desenvolvedores
0 coments:
Postar um comentário
Observação: somente um membro deste blog pode postar um comentário.