Função de formatação de números

setembro 8, 2008

Recebi um e-mail de um internauta que criou uma função em SQL que formata números. A função é bastante simples e pede apenas três parâmetros: valor, separador do milhar e separador decimal.

Segue abaixo o código:
CREATE FUNCTION FormataValor(@Valor DECIMAL(18,2),@SepMilhar CHAR(1),@SepDecimal CHAR(1))
RETURNS  VARCHAR(100) AS
BEGIN
DECLARE @inteiro VARCHAR(98),
@Texto VARCHAR(100),
@decimal VARCHAR(2),
@retorno VARCHAR(100)

SET @Texto = RTRIM(CAST(@Valor AS VARCHAR(50)))
SET @inteiro = CAST(CAST(@Valor AS INTEGER) AS VARCHAR(180))
SET @decimal = SUBSTRING(@Texto, LEN(@Texto)-1,2)
SET @retorno = ”

WHILE (LEN(@inteiro) > 3)
BEGIN
SET @retorno = @SepMilhar + SUBSTRING(@inteiro, LEN(@inteiro)-2, 3) + @retorno
SET @inteiro = SUBSTRING(@inteiro, 1, len(@inteiro)-3)
END

SET @retorno = @inteiro + @retorno
SET @retorno = @retorno + @SepDecimal + @decimal

RETURN @retorno
END

Crédito: Helder

Uma resposta to “Função de formatação de números”

  1. Aline Castro Says:

    Acho muito interessante a parte de SQL. Vou começar um curso na Impacta, disseram que é muito bom.

    Adorei o post!

    E quem quiser fazer um curso, tá ae: Curso SQL Impacta

    Beijoos


Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: