1
resposta

Desafio: formato do faturamento

SELECT YEAR(NF.DATA_VENDA) AS ANO,
FLOOR(SUM((INF.QUANTIDADE * INF.PRECO) * NF.IMPOSTO)) AS IMPOSTO_PAGO
FROM NOTAS_FISCAIS NF
INNER JOIN ITENS_NOTAS_FISCAIS INF
ON NF.NUMERO = INF.NUMERO
WHERE DATA_VENDA BETWEEN '2016-01-01' AND '2016-12-31'
GROUP BY YEAR(DATA_VENDA);``

Olá, há alguma diferença buscar pelo ano de 2016 do jeito que fiz usando Between e do modo que está na resolução? Também fiquei na dúvida qual a diferença da função FLOOR() e CEILING() ?

1 resposta

Olá, Gabriel, tudo bem?

Na verdade, não existe diferença entre as duas abordagens; ambas resultarão no mesmo valor. É interessante notar que frequentemente conseguimos atingir o mesmo objetivo por meio de métodos distintos. Parabéns pela escolha de uma abordagem alternativa!

Falando sobre as funções FLOOR() e CEILING() , elas desempenham um papel fundamental no arredondamento de números.

A função FLOOR() realiza um arredondamento para baixo, levando o número ao inteiro imediatamente inferior. Por exemplo, ao aplicar FLOOR(1.6), o resultado será 1.

Já a função CEILING() desempenha a função oposta, arredondando um número para cima e aproximando-o ao inteiro subsequente. Por exemplo, ao empregar CEILING(1.6), o retorno será 2.

Portanto, a principal diferença entre as funções FLOOR() e CEILING() está em como elas tratam a parte decimal do número.

Espero ter ajudado.

Caso surja alguma dúvida, fico à disposição.

Abraços e até mais!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!