Jump to content

Archived

This topic is now archived and is closed to further replies.

eriva_br

[Resolvido] função para formatar CPF e CNPJ no SQL Server

Recommended Posts

formatando cpf e cnpj(cgc) no sql server

 

dentro das functions de formatação de cpf e cnpj usaremos somente a função SUBSTRING e para criar nossas funções de formatação usaremos o CREATE FUNCTION

 

função para CNPJ

use northwind		go				create function formatarCNPJ(@cnpj char(14))			returns char(18)		as		begin			declare @retorno varchar(18)			set @retorno = substring(@cnpj,1,2) + '.' + substring(@cnpj,3,3) + '.' + substring(@cnpj,6,3) + '/' + substring(@cnpj,9,4) + '-' + substring(@cnpj,13,2)			return @retorno		end
e pra chamar a function de CNPJ

use northwind		  go		  		  declare @cnpj char(14)		  set @cnpj = '11222333000100'		  select dbo.formatarCNPJ(@cnpj) as cnpj_variavel, dbo.formatarCNPJ(campoCNPJ) as cnpj_campo, campox, campoy from tabela where blablabla...
EXEMPLO CNPJ ENTRADA: 11222333000100

EXEMPLO CNPJ SAÍDA: 11.222.333/0001-00

 

 

 

função para CPF

use northwind		go				create function formatarCPF(@cpf char(11))			 returns char(14)		as		begin			 declare @retorno varchar(14)			 set @retorno = substring(@cpf,1,3) + '.' + substring(@cpf,4,3) + '.' + substring(@cpf,7,3) + '-' + substring(@cpf,10,2) 			 return @retorno		end
e pra chamar a function de CPF

use northwind		go				declare @cpf char(14)		set @cpf = '11122233300'		select dbo.formatarCPF(@cpf) as cpf_variavel, dbo.formatarCPF(campoCPF) as cpf_campo, campox, campoy from tabela where blablabla...
EXEMPLO CPF ENTRADA: 11122233300

EXEMPLO CPF SAÍDA: 111.222.333-00

 

 

AUTOR: "eriva_br"

 

Dúvidas, criticas, contribuições, correções e adições seram bem vindas.

Share this post


Link to post
Share on other sites

Olá,

 

você tem essa função também para inscrição estadual, ccm e CEP?

 

obrigado

nem tenho... mais pra fazer é sussa... é só seguir o exemplo acima, e depois que fizer que quiser contribuir aqui tb. será muito bemvindo

 

 

abs

Share this post


Link to post
Share on other sites

Valeu Eriva era tudo que eu queria juntei as duas funções e olha no que deu:

 

CREATE FUNCTION [dbo].[formatarCNPJCPF]   (@CnpjCpf char(14))
RETURNS CHAR(18)

AS

BEGIN
      DECLARE @retorno VARCHAR(18)

      IF LEN(@CnpjCpf)= 14 
          --CNPJ
           BEGIN
                SET @retorno = substring(@CnpjCpf ,1,2) + '.' + substring(@CnpjCpf ,3,3) + '.' + substring(@CnpjCpf ,6,3) + '/' + substring(@CnpjCpf ,9,4) + '-' + substring(@CnpjCpf ,13,2)
           END

   ELSE
         --CPF
           BEGIN

                SET @retorno = substring(@CnpjCpf ,1,3) + '.' + substring(@CnpjCpf ,4,3) + '.' + substring(@CnpjCpf ,7,3) + '-' + substring(@CnpjCpf ,10,2) 

           END

      RETURN @retorno
END

Share this post


Link to post
Share on other sites

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.