1
resposta

Tipo da variável acumuladora - Dica

DECLARE @QUANTIDADE INT
DECLARE @PRECO FLOAT
**DECLARE @FATURAMENTOACUM Decimal(30, 5)**
DECLARE @MES INT
DECLARE @ANO INT
SET @MES = 1
SET @ANO = 2017
DECLARE CURSOR1 CURSOR FOR SELECT INF.QUANTIDADE, INF.PREÇO 
                           FROM   [ITENS NOTAS FISCAIS] INF
                           INNER JOIN [NOTAS FISCAIS] NF ON NF.NUMERO = INF.NUMERO
                           WHERE MONTH(NF.DATA) = @MES 
                           AND YEAR(NF.DATA) = @ANO
SET @FATURAMENTOACUM = 0
OPEN CURSOR1
FETCH NEXT FROM CURSOR1 INTO @QUANTIDADE, @PRECO
WHILE @@FETCH_STATUS = 0
BEGIN
    SET @FATURAMENTOACUM = @FATURAMENTOACUM + (@QUANTIDADE * @PRECO)
    FETCH NEXT FROM CURSOR1 INTO @QUANTIDADE, @PRECO
END
CLOSE CURSOR1
DEALLOCATE CURSOR1
PRINT @FATURAMENTOACUM
Mudando o tipo para decimal, o resultado mostra certo, sem a expressão matemática
Antes: 3.83833e+006
Depois: 3838334.52800
1 resposta

Olá William, tudo bem?

Muito legal essa dica que você compartilhou sobre o tipo de dados, para que seja exibido o resultado sem a expressão matemática, poderá ajudar outros alunos :).

Continue assim e bons estudos William!