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.