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.