sql >> Database >  >> RDS >> Database

Een getal naar boven afronden naar het dichtstbijzijnde gehele getal in SQL

Probleem:

U wilt een getal naar boven afronden op het dichtstbijzijnde gehele getal.

Voorbeeld:

Onze database heeft een tabel met de naam huur met gegevens in de volgende kolommen:id , city , area , en bikes_for_rent .

id stad gebied bikes_for_rent
1 Los Angeles 1302.15 1000
2 Feniks 1340.69 500
3 Fargo 126,44 101

Laten we de naam van elke stad tonen, samen met de verhouding van de oppervlakte tot het aantal te huur fietsen. Deze verhouding moet een geheel getal zijn.

Oplossing:

SELECT city, CEILING(area/bikes_for_rent) AS ratio
FROM rent;

De zoekopdracht retourneert elke stad met de verhouding als een geheel getal van het gebied per fiets naar boven afgerond.

id stad verhouding
1 Los Angeles 2
2 Feniks 3
3 Fargo 2

Discussie:

Net als zijn tegenhanger vloer, is plafond een wiskundige bewerking die een getal neemt en naar boven afrondt op het dichtstbijzijnde gehele getal. Het plafond van 5 is bijvoorbeeld 5, en dat geldt ook voor het plafond van 4,1.

SQL gebruikt het CEILING functie om deze berekening uit te voeren. Er is één argument voor nodig:de kolom waarvan u de waarden naar boven wilt afronden op het dichtstbijzijnde gehele getal.

In ons voorbeeld willen we berekenen hoeveel vierkante meter (afgerond op het dichtstbijzijnde gehele getal) er per fiets zijn. In ons voorbeeld gebruikten we CEILING zoals zo:CEILING(area/bikes_for_rent) ). Dit geeft een geheel getal terug, geen float.


  1. Een Django Movie Recommendation-app maken met Jaccard Index

  2. Oracle Data Mining (ODM) - Installatie en configuratie

  3. Bereken een lopend totaal in SQL Server

  4. Hoe informatie te krijgen over compileerfouten in Oracle/TOAD