Data de Inclusão:
30/08/2006 | Última Alteração:
30/08/2006
Tipo:Função | Enviada por:
Dorian Anderson Soutto (oracle_brasil@yahoo.com.br)
CREATE OR REPLACE function MASK (tipo in varchar2,valor in number)
return varchar2 is
begin
if tipo = 'f' or tipo = 'F' then --CPF
return(
substr(lpad(to_char(valor),11,'0'),01,3)||'.'||
substr(lpad(to_char(valor),11,'0'),04,3)||'.'||
substr(lpad(to_char(valor),11,'0'),07,3)||'-'||
substr(lpad(to_char(valor),11,'0'),10,2));
elsif tipo = 'j' or tipo = 'J' then --CNPJ
if valor is null then
return(null);
else
return(
substr(ltrim(to_char(valor,'09999999999999')),01,2)||'.' ||
substr(ltrim(to_char(valor,'09999999999999')),03,3)||'.' ||
substr(ltrim(to_char(valor,'09999999999999')),06,3)||'/' ||
substr(ltrim(to_char(valor,'09999999999999')),09,4)||'-' ||
substr(ltrim(to_char(valor,'09999999999999')),13,2));
end if;
elsif tipo = 'c' or tipo = 'C' then --CEI
return(
substr(ltrim(to_char(valor,'09999999999999')),01,5)||'.' ||
substr(ltrim(to_char(valor,'09999999999999')),06,3)||'.' ||
substr(ltrim(to_char(valor,'09999999999999')),09,4)||'.' ||
substr(ltrim(to_char(valor,'09999999999999')),13,2));
else
return('ESCOLHA "F" para pessoa física, "J" para juridica ou "C" para CEI');
end if;
end MASK;
/* para testar:
select MASK('f',12515445872) from dual */
-- Dori® 05/2001