Oi Diego,
A função TRUNC em Oracle é utilizada para truncar (ou seja, remover) a parte decimal de um número, de acordo com a precisão especificada. A sintaxe básica é:
TRUNC(number, [decimal_places])
number: o número que você deseja truncar.decimal_places: opcional, determina a quantidade de casas decimais que você deseja manter. Se for negativo, o truncamento será feito à esquerda do ponto decimal.
No seu exemplo, SELECT TRUNC(15.79, -1) FROM DUAL;, o -1 indica que você deseja truncar uma casa decimal à esquerda do ponto decimal. Isso significa que o número será truncado para o múltiplo de 10 mais próximo que é menor ou igual a 15.79, resultando em 10.
Aqui estão mais alguns exemplos para ilustrar:
SELECT TRUNC(15.79) FROM DUAL;Resultado: 15 (truncando para zero casas decimais)
SELECT TRUNC(15.79, 0) FROM DUAL;Resultado: 15 (truncando para zero casas decimais)
SELECT TRUNC(15.79, 1) FROM DUAL;Resultado: 15.7 (truncando para uma casa decimal)
SELECT TRUNC(15.79, -1) FROM DUAL;Resultado: 10 (arredondar para a dezena mais próxima para baixo)

Caso este post o tenha ajudado, por favor,
marcar como solucionado ☑️.
Bons Estudos! 🤓