none
Aplicar Mascara sobre um Varchar RRS feed

  • Pergunta

  • Pessoal estou desenvolvendo um processo de integração de sistemas e possuo uma conta contábil assim: 99999999999 e preciso aplicar à seguinte mascara 99999.9.99.9.99 como eu posso realizar essa alteração no campo?

    quinta-feira, 5 de junho de 2014 14:05

Respostas

  • Pessoal consegui fazer segue abaixo:

    ALTER function [dbo].[formatarconta] (@valor varchar(30))
     returns varchar(30)
    as 
    begin  
    declare @mascara varchar(30)     
               set @mascara = (left (@valor,5)+'.'+ 
                       right(left (@valor,6),1)+'.'+ 
                       right(left (@valor,8),2)+'.'+ 
                       right(left (@valor,9),1)+'.'+
    				   right(left (@valor,11),2)
    				   )
               
           
           return @mascara
    end
    

    • Marcado como Resposta eder.luca quinta-feira, 5 de junho de 2014 14:31
    quinta-feira, 5 de junho de 2014 14:31

Todas as Respostas

  • Pessoal consegui fazer segue abaixo:

    ALTER function [dbo].[formatarconta] (@valor varchar(30))
     returns varchar(30)
    as 
    begin  
    declare @mascara varchar(30)     
               set @mascara = (left (@valor,5)+'.'+ 
                       right(left (@valor,6),1)+'.'+ 
                       right(left (@valor,8),2)+'.'+ 
                       right(left (@valor,9),1)+'.'+
    				   right(left (@valor,11),2)
    				   )
               
           
           return @mascara
    end
    

    • Marcado como Resposta eder.luca quinta-feira, 5 de junho de 2014 14:31
    quinta-feira, 5 de junho de 2014 14:31
  • Deleted
    quinta-feira, 5 de junho de 2014 19:55
  • José,

    Concordo utilizando a função Format temos esta possibilidade, vale ressaltar que dependendo do caracter e idioma utilizado na máscara o SQL Server pode retornar valores indesejáveis.

    Veja os exemplos:

    Select FORMAT(123456789,'######,###','PT-BR')
    
    Select FORMAT(123456789,'######.###','PT-BR')
    
    
    Select FORMAT(123456789,'###,######','en-US')
    
    Select FORMAT(123456789,'######,###','en-US')


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

    sexta-feira, 6 de junho de 2014 17:48