Ir para conteúdo

POWERED BY:

Arquivado

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

Lilian B

Formatação de um Parametro

Recommended Posts

Bom dia pessoal!

 

Estou precisando de ajuda para o seguinte caso:

Vou passar como parâmentro numa proc o número do CGC e preciso que ele saia formatado.

Mais ou menos assim:

 

Entra o número:

03667884000988

 

E formata para:

03.667.884/0009-88

 

Ah! preciso do mesmo para CPF tbm...

 

Agradeço a atenção! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

uma opção seria criar uma function:

 

ficaria +ou- assim:

use northwindgocreate function formatarCNPJ(@cnpj char(14))	returns char(18)asbegin	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 @retornoend

e pra chamar a function

use northwindgodeclare @cnpj char(14)set @cnpj = '03667884000988'select dbo.formatarCNPJ(@cnpj) as cnpj_variavel, dbo.formatarCNPJ(campoCNPJ) as cnpj_campo, campox, campoy from tabela where blablabla...

 

e pra CPF tu cria uma função usando a mesma lógica

mais sobre funções: http://www.imasters.com.br/artigo/225/sql_...r_2000_funcoes/

 

t++

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só que agora tenho um outro probleminha... :( Na procedure os parametros estão declarados como tamanho de 11, por exemplo, e preciso passar tamanho 15. (para CPF) Eu consigo gerar uma variável com tamanho 15 e depois setar a de tamanho 11, assim por exemplo:no parametro: @cpf char(11) Na variável que vou criar: @cpfI2 char(15) Depois de todo o tratamento na @cpfI2 eu posso simplismente fazer um set @cpf = @cpfI2 ???Valeu pela atenção gente

Compartilhar este post


Link para o post
Compartilhar em outros sites

Lilian, tome cuidado com o tipode campo "char", se você nao ocupar todo o campo, ele vai ocupar com espaços.

o "set @cpf = @cpfI2" pode ser feito sim, mas de uma olhada somente no retorno desta variavel, por causa dos espaços.

 

abs ;)

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.