Ir para conteúdo

jothaz

Members
  • Total de itens

    1180
  • Registro em

  • Última visita

Reputação

1 Comum

Sobre jothaz

  • Classificação
    .: Ninguém falou que seria fácil!:.
  • Data de Nascimento 04/24/1966

Informações Pessoais

  • Sexo
    Masculino
  • Localização
    belo horizonte
  • Interesses
    O incognoscível ....

    "O inimigo mais perigoso que você poderá encontrar será sempre você mesmo" (Nietzsche)
  1. jothaz

    Formatar valores numéricos no SQL

    A idéia é criar uma função de usuário para mascarar/formatar valores numéricos e monetários direto no SQL. create FUNCTION FormataValor(@Valor Decimal(18,4),@SepMilhar char(1),@SepDecimal Char(1))Returns Varchar(50) ASBegin Declare @Inteiro int, @Texto varchar(50), @ValorDecimal varchar(04) Set @Texto = RTrim(Cast(@Valor as varchar(50))) Set @Inteiro = Cast(@Valor as Integer) Set @ValorDecimal = SubString(@Texto,Len(@Texto)-3,4) If Len(@Inteiro) = 4 Set @Texto = SubString(Cast(@Inteiro as varchar(10)),1,1) + @SepMilhar + SubString(Cast(@Inteiro as varchar(10)),2,3) + @SepDecimal + @ValorDecimal If Len(@Inteiro) = 5 Set @Texto = SubString(Cast(@Inteiro as varchar(10)),1,2) + @SepMilhar + SubString(Cast(@Inteiro as varchar(10)),2,3) + @SepDecimal + @ValorDecimal If Len(@Inteiro) = 6 Set @Texto = SubString(Cast(@Inteiro as varchar(10)),1,3) + @SepMilhar + SubString(Cast(@Inteiro as varchar(10)),2,3) + @SepDecimal + @ValorDecimal Return @TextoEndPara utlizá-la: SELECT dbo.FormataValor(2560.69,'.',',') OBS: sempre utilizar o . (ponto) como separador de decimal. Espero que possa ser útil a alguém. Fonte/Autor/link AUTOR: Adaptei esta função de um post do forum imasters (do qual não tenho o link). Caso alguém seja o autor favor postar o link para que os créditos possam ser atribuido. Dúvidas, criticas, contribuições, correções e adições serão bem vindas.
×

Informação importante

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