sql >> Databáze >  >> RDS >> Database

Jak zaokrouhlit číslo na nejbližší celé číslo v SQL

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.


  1. Funkce NEXT_DAY() v Oracle

  2. Povolte podporu MySQL InnoDB Storage Engine v instalaci XAMPP

  3. Sloučení hodnot JSONB v PostgreSQL?

  4. Filtrovat podle COUNT(*)?