Método para arredondar e truncar números decimais no SQL

No SQL, são fornecidas várias funções para lidar com números decimais. Neste artigo, explicamos detalhadamente como arredondar, truncar e arredondar para cima usando as respectivas funções e exemplos práticos.

Índice

Como arredondar usando a função ROUND

A função ROUND do SQL arredonda um número para o número de casas decimais especificado. A sintaxe básica dessa função é a seguinte:

Sintaxe básica

ROUND(número, casas_decimais)
  • número: O número a ser arredondado.
  • casas_decimais: O número de casas decimais após o arredondamento.

Exemplo de uso

No exemplo abaixo, o número 3.4567 é arredondado para duas casas decimais.

SELECT ROUND(3.4567, 2);  -- Resultado: 3.46

Além disso, ao especificar um valor negativo, é possível arredondar a parte inteira do número.

SELECT ROUND(345.67, -1);  -- Resultado: 350

Dessa forma, usando a função ROUND, você pode facilmente arredondar números.

Como truncar usando a função TRUNCATE

A função TRUNCATE do SQL é usada para truncar um número para o número de casas decimais especificado. A sintaxe básica dessa função é a seguinte:

Sintaxe básica

TRUNCATE(número, casas_decimais)
  • número: O número a ser truncado.
  • casas_decimais: O número de casas decimais após o truncamento.

Exemplo de uso

No exemplo abaixo, o número 3.4567 é truncado para duas casas decimais.

SELECT TRUNCATE(3.4567, 2);  -- Resultado: 3.45

Além disso, ao especificar um valor negativo, é possível truncar a parte inteira do número.

SELECT TRUNCATE(345.67, -1);  -- Resultado: 340

Ao usar a função TRUNCATE, você pode remover partes indesejadas após o ponto decimal e gerenciar números com a precisão necessária.

Como truncar usando a função FLOOR

A função FLOOR do SQL trunca um número para o maior inteiro que não excede o valor especificado. A sintaxe básica dessa função é a seguinte:

Sintaxe básica

FLOOR(número)
  • número: O número a ser truncado.

Exemplo de uso

No exemplo abaixo, o número 3.4567 é truncado para a parte inteira.

SELECT FLOOR(3.4567);  -- Resultado: 3

Também pode ser aplicado a números negativos.

SELECT FLOOR(-3.4567);  -- Resultado: -4

Ao usar a função FLOOR, você pode truncar completamente a parte decimal e obter apenas a parte inteira. Isso é muito útil quando o truncamento é necessário.

Como arredondar para cima usando a função CEIL

A função CEIL (ou função CEILING) do SQL arredonda um número para o menor inteiro que não é menor que o valor especificado. A sintaxe básica dessa função é a seguinte:

Sintaxe básica

CEIL(número)
  • número: O número a ser arredondado para cima.

Exemplo de uso

No exemplo abaixo, o número 3.4567 é arredondado para cima, para o próximo inteiro.

SELECT CEIL(3.4567);  -- Resultado: 4

Também pode ser aplicado a números negativos.

SELECT CEIL(-3.4567);  -- Resultado: -3

Ao usar a função CEIL, você pode arredondar completamente para cima e obter o próximo número inteiro. Isso é muito útil quando o arredondamento para cima é necessário.

Exemplo avançado: uso em dados de transação

O tratamento de casas decimais é muito importante em transações financeiras e outras operações comerciais. Aqui estão alguns exemplos práticos de aplicação das funções ROUND, TRUNCATE, FLOOR e CEIL em dados de transação.

Arredondamento do valor de transação

Para arredondar o valor de uma transação, use a função ROUND.

SELECT 
    transacao_ID, 
    ROUND(valor, 2) AS valor_arredondado
FROM 
    tabela_transacao;

Essa consulta exibe o valor arredondado para duas casas decimais na tabela de transações.

Truncamento do valor do imposto

Para calcular o valor do imposto e truncar o resultado, use a função TRUNCATE.

SELECT 
    transacao_ID, 
    TRUNCATE(imposto, 0) AS imposto_truncado
FROM 
    tabela_transacao;

Essa consulta exibe o valor do imposto truncado para a parte inteira na tabela de transações.

Truncamento do valor após desconto

Para truncar o valor após o desconto para a parte inteira, use a função FLOOR.

SELECT 
    transacao_ID, 
    FLOOR(valor * taxa_desconto) AS valor_desconto_truncado
FROM 
    tabela_transacao;

Essa consulta exibe o valor truncado para a parte inteira após o desconto na tabela de transações.

Arredondamento para cima do valor do frete

Para arredondar para cima o valor do frete, use a função CEIL.

SELECT 
    transacao_ID, 
    CEIL(frete) AS frete_arredondado_para_cima
FROM 
    tabela_transacao;

Essa consulta exibe o valor do frete arredondado para cima na tabela de transações.

Com essas funções, você pode gerenciar eficazmente o tratamento de números decimais em dados de transação.

Conclusão

No SQL, são fornecidas funções como ROUND, TRUNCATE, FLOOR e CEIL para arredondar, truncar e arredondar para cima números decimais. Aplicando cada uma dessas funções em situações específicas, é possível gerenciar eficazmente a precisão dos dados numéricos. No contexto de operações comerciais, o uso dessas funções pode garantir que os dados de transação e os resultados dos cálculos sejam processados com precisão, proporcionando uma gestão de dados confiável.

Índice