Neste post vou explicar um pouco sobre estas funções que sempre ajudam, principalmente, em relatórios gerenciais.
Vamos direto ao Ponto.
TRUNC
Mantém apenas a parte desejada de um numéro. Ao usar este método podemos fornecer o número de casas decimais preservadas e formatar um número.
Ex:
SELECT TRUNC( 12356.98 , 1 ) FROM DUAL
Este cara vai remover todos os algarismos depois do primeiro que sucede a pontuação, ou seja, vai retornar “12356.9”.
o trunc pode ser usado tambem para pegar o valor mais significativo desejado de um número, exemplo:
SELECT TRUNC( 12356.98 , -3 ) FROM DUAL
Já neste exemplo o valor retornado será “12000”. O TRUNC zera os 3 caracteres menos significativos do número.
ROUND
Arredonda o valor dada uma posição específica. ( não é obrigatório fornecer parametro )
Vamos ver um exemplo bem simples:
SELECT ROUND( 12356.98 , 0 ) FROM DUAL
Aqui o valor retornado será “12357” sendo apenas os valores após a vírgula removidos.
Agora, nada impede que vc arredonde um valor mais amplo. Imagine se vc quisesse arredondar os “12356.98” para “12400”, como você faria?
Dica:
SELECT ROUND( 12356.98 , -2 ) FROM DUAL
O -2 da sentença fará o ROUND arredondar todos os numeros após a pontuação e os dois números que antecederem ela. Em miúdos, o 56.98 serão arredondados.
MOD
O grande método mágico que retorna o resto da divisão!
Ex:
SELECT MOD( 12356.98 , 12000 ) FROM DUAL
Isto te retornará “356.98”. Isto significa que “12356.98” divididos por “12000” resultará em “1” e terá sobra de “356.98”.
Bem, sobre estes métodos é isso.
É claro que existem diversas outras formas de uso, até mesmo outros métodos que voce possa combinar para fazer o mesmo.
🙂