Database
 sql >> Base de Dados >  >> RDS >> Database

Como arredondar um número para o inteiro mais próximo no SQL

Problema:


Você deseja arredondar um número para o inteiro mais próximo.

Exemplo:


Nosso banco de dados possui uma tabela chamada rent com dados nas seguintes colunas:id , city , area e bikes_for_rent .
id cidade área bikes_for_rent
1 Los Angeles 1302,15 1000
2 Fênix 1340,69 500
3 Fargo 126,44 101

Vamos mostrar o nome de cada cidade junto com a razão entre sua área e o número de bicicletas para alugar. Essa proporção deve ser um número inteiro.

Solução:

SELECT city, CEILING(area/bikes_for_rent) AS ratio
FROM rent;

A consulta retorna cada cidade com a proporção como um número inteiro arredondado da área por uma bicicleta.
id cidade proporção
1 Los Angeles 2
2 Fênix 3
3 Fargo 2

Discussão:


Assim como o piso equivalente, o teto é uma operação matemática que pega um número e o arredonda para o número inteiro mais próximo. Por exemplo, o teto de 5 é 5, assim como o teto de 4,1.

SQL usa o CEILING função para realizar este cálculo. É preciso um único argumento:a coluna cujos valores você deseja arredondar para o inteiro mais próximo.

Em nosso exemplo, gostaríamos de calcular quantos metros quadrados (arredondado para o número inteiro mais próximo) existem por uma bicicleta. Em nosso exemplo, usamos CEILING assim:CEILING(area/bikes_for_rent) ). Isso retorna um resultado inteiro, não um float.