Problem:
Chcesz zaokrąglić liczbę do najbliższej liczby całkowitej.
Przykład:
Nasza baza danych zawiera tabelę o nazwie rent z danymi w następujących kolumnach:id
, city
, area
i bikes_for_rent
.
id | miasto | obszar | rowery_do wypożyczenia |
---|---|---|---|
1 | Los Angeles | 1302.15 | 1000 |
2 | Feniks | 1340.69 | 500 |
3 | Fargo | 126.44 | 101 |
Pokażmy nazwę każdego miasta wraz ze stosunkiem jego powierzchni do liczby rowerów do wynajęcia. Ten stosunek powinien być liczbą całkowitą.
Rozwiązanie:
SELECT city, CEILING(area/bikes_for_rent) AS ratio FROM rent;
Zapytanie zwraca każde miasto ze współczynnikiem jako liczbą całkowitą zaokrągloną w górę powierzchni na jeden rower.
id | miasto | stosunek |
---|---|---|
1 | Los Angeles | 2 |
2 | Feniks | 3 |
3 | Fargo | 2 |
Dyskusja:
Podobnie jak jego odpowiednik floor, pułap jest operacją matematyczną, która pobiera liczbę i zaokrągla ją do najbliższej liczby całkowitej. Na przykład pułap 5 to 5, podobnie jak pułap 4,1.
SQL używa CEILING
funkcja do wykonania tego obliczenia. Zajmuje pojedynczy argument:kolumnę, której wartości chcesz zaokrąglić w górę do najbliższej liczby całkowitej.
W naszym przykładzie chcielibyśmy obliczyć, ile metrów kwadratowych (w zaokrągleniu do najbliższej liczby całkowitej) przypada na jeden rower. W naszym przykładzie użyliśmy CEILING
na przykład:CEILING(area/bikes_for_rent)
). Zwraca wynik w postaci liczby całkowitej, a nie liczby zmiennoprzecinkowej.