Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

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.

Compartilhar este post


Link para o post
Compartilhar em outros 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

Compartilhar este post


Link para o post
Compartilhar em outros 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

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.