Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Função TRUNC

Boa tarde!!! Não entendi muito bem esta função TRUNC, e ao pesquisar na documentação Oracle, vieram-me mais dúvidas.

  1. Alguém pode me explicar exatamente como é o TRUNC?

  2. Por que SELECT TRUNC (15.79, -1) FROM DUAL; dá 10????

Muito obrigado pela disponibilidade.

1 resposta
solução!

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:

  1. SELECT TRUNC(15.79) FROM DUAL;Resultado: 15 (truncando para zero casas decimais)

  2. SELECT TRUNC(15.79, 0) FROM DUAL;Resultado: 15 (truncando para zero casas decimais)

  3. SELECT TRUNC(15.79, 1) FROM DUAL;Resultado: 15.7 (truncando para uma casa decimal)

  4. SELECT TRUNC(15.79, -1) FROM DUAL;Resultado: 10 (arredondar para a dezena mais próxima para baixo)

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