Problem:
Du vil runde et tal op til det nærmeste heltal.
Eksempel:
Vores database har en tabel med navnet husleje med data i følgende kolonner:id
, city
, area
, og bikes_for_rent
.
id | by | område | cykler_til_udlejning |
---|---|---|---|
1 | Los Angeles | 1302.15 | 1000 |
2 | Føniks | 1340,69 | 500 |
3 | Fargo | 126,44 | 101 |
Lad os vise hver bys navn sammen med forholdet mellem dens areal og antallet af cykler til leje. Dette forhold skal være et heltal.
Løsning:
SELECT city, CEILING(area/bikes_for_rent) AS ratio FROM rent;
Forespørgslen returnerer hver by med forholdet som et heltal af afrundet området pr. cykel.
id | by | forhold |
---|---|---|
1 | Los Angeles | 2 |
2 | Føniks | 3 |
3 | Fargo | 2 |
Diskussion:
Ligesom sit modstykke gulv er loft en matematisk operation, der tager et tal og runder det op til nærmeste heltal. For eksempel er loftet på 5 5, og det samme er loftet på 4.1.
SQL bruger CEILING
funktion til at udføre denne beregning. Det kræver et enkelt argument:kolonnen, hvis værdier du gerne vil runde op til nærmeste heltal.
I vores eksempel vil vi gerne beregne, hvor mange kvadratmeter (rundet op til nærmeste heltal) der er pr. cykel. I vores eksempel brugte vi CEILING
sådan:CEILING(area/bikes_for_rent)
). Dette returnerer et heltalsresultat, ikke en float.