Problém:
Chcete zaokrouhlit číslo nahoru na nejbližší celé číslo.
Příklad:
Naše databáze obsahuje tabulku s názvem rent s údaji v následujících sloupcích:id
, city
, area
a bikes_for_rent
.
id | město | oblast | bikes_for_rent |
---|---|---|---|
1 | Los Angeles | 1302,15 | 1000 |
2 | Phoenix | 1340,69 | 500 |
3 | Fargo | 126,44 | 101 |
Ukažme název každého města spolu s poměrem jeho rozlohy k počtu kol k zapůjčení. Tento poměr by měl být celé číslo.
Řešení:
SELECT city, CEILING(area/bikes_for_rent) AS ratio FROM rent;
Dotaz vrátí každé město s poměrem jako celé číslo zaokrouhlené plochy na jedno kolo.
id | město | poměr |
---|---|---|
1 | Los Angeles | 2 |
2 | Phoenix | 3 |
3 | Fargo | 2 |
Diskuse:
Stejně jako jeho protějšek podlaha, strop je matematická operace, která vezme číslo a zaokrouhlí ho na nejbližší celé číslo. Například strop 5 je 5 a stejně tak strop 4,1.
SQL používá CEILING
funkce k provedení tohoto výpočtu. Vyžaduje jeden argument:sloupec, jehož hodnoty chcete zaokrouhlit nahoru na nejbližší celé číslo.
V našem příkladu bychom rádi spočítali, kolik metrů čtverečních (zaokrouhleno nahoru na nejbližší celé číslo) připadá na jedno kolo. V našem příkladu jsme použili CEILING
takto:CEILING(area/bikes_for_rent)
). Vrátí výsledek celé číslo, nikoli float.