PostgreSQL FLOOR
A função `FLOOR` no PostgreSQL é uma função matemática utilizada para retornar o maior número inteiro menor ou igual a um valor numérico especificado. É comumente usado em cenários em que é necessário arredondar para o número inteiro mais próximo.
Uso
A função `FLOOR` é normalmente usada quando você precisa desconsiderar a parte fracionária de um número e obter sua parte inteira para cálculos ou análise de dados. É especialmente útil em cálculos financeiros ou no gerenciamento de índices. O `FLOOR` faz parte das funções matemáticas SQL padrão do PostgreSQL, garantindo confiabilidade e padronização.
FLOOR(numeric_expression)
Nessa sintaxe, `expressão_numérica` é o número para o qual você deseja encontrar o maior número inteiro menor ou igual a ele. Os tipos de dados compatíveis com `numeric_expression` incluem `double precision`, `numeric` e outros tipos numéricos.
Exemplos
1. Uso básico
SELECT FLOOR(4.75);
Nesse exemplo, a função retorna `4`, pois é o maior número inteiro menor ou igual a `4,75`.
2. Usando FLOOR com números negativos
SELECT FLOOR(-3.14);
Aqui, a função retorna `-4`, pois `-4` é o maior número inteiro menor que `-3,14`.
3. Aplicando o FLOOR em uma consulta de tabela
SELECT product_id, FLOOR(price) AS rounded_price
FROM products;
Essa consulta recupera o ID de cada produto e seu preço arredondado para o número inteiro mais próximo, o que é útil para criar listas de preços simplificadas.
Dicas e práticas recomendadas
- Garantir o tipo de dados numéricos. Use `FLOOR` em tipos de dados numéricos para evitar erros inesperados ou conversões de tipos.
- Combine com outras funções. Use `FLOOR` em combinação com outras funções matemáticas como `CEIL` ou `ROUND` para cálculos complexos.
- Considere o desempenho. Ao usar o `FLOOR` em grandes conjuntos de dados, certifique-se de que ele não se torne um gargalo de desempenho, especialmente em instruções SELECT.
- Fique atento aos aspectos negativos. Lembre-se de que `FLOOR` diminuirá o valor inteiro para números negativos, o que pode diferir das expectativas.
- Impacto nas colunas indexadas. Esteja ciente de que o uso de `FLOOR` em colunas indexadas pode afetar a otimização e o desempenho da consulta.