Wat is SQL ROUND?
De ROUND-functie is een basisinstrument dat de nauwkeurigheid van numerieke data in SQL aanpast. Het rondt waarden af op een opgegeven aantal decimalen en vereenvoudigt data voor analyse.
Met SQL ROUND kun je bijvoorbeeld een getal als 3.14159 veranderen in 3.14 door af te ronden op twee decimalen. Dit is handig wanneer exacte precisie niet nodig is en afgeronde waarden voldoende zijn voor interpretatie.
Nu je weet wat SQL ROUND is, kijken we hoe je het in verschillende databases toepast.
ROUND-syntaxis
De ROUND-functie is gangbaar, maar de syntaxis is niet in alle databases gelijk. Zo verschilt het:
Syntaxis in Oracle, MySQL en PostgreSQL
In deze databases volgt ROUND een eenvoudige indeling met twee parameters:
ROUND(number, decimal_places)
Hierbij geldt:
- Input verwijst naar het getal dat je wilt afronden.
- Decimals geeft het aantal decimalen aan waarop je afrondt.
Syntaxis in SQL Server
SQL Server voegt echter een draai aan dit format toe: er is een optionele derde parameter, function:
ROUND(number, decimal_places [, function])
Hierbij geldt:
- De eerste twee parameters, input en decimals, werken net zoals in de andere databases.
- De optionele parameter function bepaalt de afrondingsrichting onder bepaalde omstandigheden.
Dit syntaxisverschil lijkt klein, maar is cruciaal om te begrijpen, omdat het je helpt de ROUND-functie correct toe te passen, ongeacht de databaseomgeving waarin je werkt.
Parameters van de SQL ROUND-functie
De ROUND-functie gebruikt drie hoofdparameters: input, decimals en operation. Door deze parameters te begrijpen, kun je de functie effectief gebruiken in SQL-databases.
Input-parameter
Input is het getal dat je wilt afronden. Dit kan een direct getal zijn, een databasekolom of het resultaat van een expressie.
Decimal-parameter
De decimal-parameter bepaalt op hoeveel decimalen je de input afrondt. Een positief getal rondt af op dat aantal decimalen.
Function-parameter
De parameter function is optioneel. Deze bepaalt de afrondingsrichting voor waarden die precies in het midden van twee getallen liggen. Standaard is de waarde 0. Elke andere waarde zorgt ervoor dat de functie de input afkapt (trunceren) zonder af te ronden.
Met deze parameters kun je getallen precies en gecontroleerd afronden.
SQL ROUND gebruiken in SQL-databases
Je kunt SQL ROUND in verschillende SQL-databases gebruiken. Afhankelijk van de database kunnen syntaxis en gedrag licht verschillen.
Zo gebruik je het in enkele van de populairste databases:
Implementatie in Oracle
De ROUND-functie in Oracle werkt met numerieke data en datumwaarden. Bij getallen rondt het de waarde af op de opgegeven decimaal.
Voor datumwaarden kan ROUND een datum aanpassen naar de dichtstbijzijnde dag, maand, jaar, enz., afhankelijk van het opgegeven formaat.
Zo werkt het in Oracle:
Stel, je hebt de volgende tabel PRODUCTS.

Als je de kolom standard_cost nu wilt afronden op één decimaal, maak je deze query.
SELECT Round(STANDARD_COST, 1)
FROM PRODUCTS
Zo ziet de afgeronde kostprijs eruit.

Implementatie in MySQL
In MySQL werkt ROUND vergelijkbaar om getallen af te ronden op een opgegeven precisie.
Zo werkt het:
Stel, je hebt de volgende tabel purchase_details.

Als je de kolom Paid_amount nu wilt afronden op twee decimalen, maak je deze query.
SELECT Round(Paid_amount, 2)
AS Result
FROM purchase_details
Zo ziet het afgeronde bedrag eruit.

Implementatie in PostgreSQL
PostgreSQL implementeert ROUND ook op vergelijkbare wijze. Zo kun je het toepassen:
Stel, je hebt de volgende tabel reviews.

Als je de kolom imdb_score nu wilt afronden op nul decimalen, maak je deze query.
SELECT Round(imdb_score, 0)
AS Result
FROM cinema.reviews
Zo zien de afgeronde filmbeoordelingen eruit.

Implementatie in SQL Server
In Microsoft SQL Server gedraagt ROUND zich vergelijkbaar met Oracle bij numerieke waarden.
Een uniek aspect van SQL Server is echter de derde parameter — function — waarmee je kunt aangeven of je het getal wilt afronden (function = 0 of weggelaten) of afkappen (function = 1).
Zo werkt SQL-ROUND in een SQL Server:
Stel, je hebt de volgende tabel order_items.

Als je de kolom list_price nu wilt afronden op één decimaal, maak je deze query.
SELECT Round(list_price, 1,0)
AS Result
FROM sales.order_items
Zo ziet de afgeronde prijs eruit.

Praktische implementatie
Nu je de parameters kent, is het tijd om de ROUND-functie in de praktijk toe te passen. Laten we bekijken hoe je dit doet met getallen en datums in data-analyse.
ROUND met getallen
Stel, je hebt een tabel orderDetails met een kolom prijzen met meerdere decimalen.

Als je de kolom Price nu wilt afronden op één decimaal, maak je deze query.
SELECT Round(Price, 1)
AS Result
FROM orderDetails
Deze query rondt elke prijs in de tabel af op één decimaal.
En zo ziet het resultaat eruit:

ROUND met datums
In SQL kun je datumwaarden afronden op een specifieke component, zoals jaar, maand, uur of minuut.
Stel, je hebt een tabel orders.

Als je de kolom order_date nu wilt afronden op het dichtstbijzijnde jaar, maak je deze query:
SELECT YEAR(order_date)
AS ROUNDED_DATE
FROM sales.orders
Deze query rondt elke datum in de kolom af naar het dichtstbijzijnde jaar.
En zo ziet het resultaat eruit:

Geavanceerde technieken met SQL ROUND
Naast basisafronding wordt de SQL-ROUND-functie ook gebruikt in meer geavanceerde scenario's, zoals:
- SQL afronden naar boven
- SQL afronden naar beneden
- Afronden op specifieke intervallen
Zo werkt elk van deze:
SQL ROUND naar boven en ROUND naar beneden
Hoewel de ROUND-functie naar de dichtstbijzijnde waarde afrondt, kun je een specifieke richting forceren met de functies CEIL en FLOOR.
De functie CEIL rondt elke decimale waarde naar boven af tot het eerstvolgende gehele getal. Bijvoorbeeld:
Je hebt een tabel genaamd reviews.

Zo pas je de functie CEIL toe op de kolom user_score.
Select CEIL(user_score)
FROM reviews
Dit is het resultaat:

In tegenstelling tot CEIL rondt FLOOR elke decimale waarde naar beneden af tot het dichtstbijzijnde gehele getal. Bijvoorbeeld:
Als je FLOOR toepast op de eerdere tabel reviews, maak je deze query:
Select FLOOR(user_score)
FROM reviews
Dit is het resultaat:

Afronden op specifieke intervallen
Soms moet je getallen afronden op specifieke intervallen, zoals de dichtstbijzijnde 5, 10 of 100. Hiervoor combineer je ROUND met deling en vermenigvuldiging.
Stel dat je een getal of kolom wilt afronden op de dichtstbijzijnde 10. Dan maak je de volgende query:
SELECT Round(number / 10) * 10
FROM table_name
Deze techniek helpt bij vraagstukken in voorraadbeheer of statistische analyse, waar data in specifieke intervallen logischer is.
Vergelijkbare functies met SQL ROUND
Naast ROUND bestaan er in SQL diverse andere functies voor het afronden en afkappen van getallen.
CEIL-functie
De CEILING-functie, of CEIL, rondt een getal naar boven af tot het dichtstbijzijnde geheel getal of een opgegeven precisie. CEILING rondt altijd naar boven af, in tegenstelling tot ROUND, dat naar de dichtstbijzijnde waarde afrondt.
Voorbeeld: CEILING(2.3) geeft 3 terug.
Deze functie is vooral nuttig wanneer je wilt garanderen dat de afgeronde waarde niet kleiner is dan het origineel.
FLOOR-functie
De functie FLOOR rondt een getal naar beneden af tot het dichtstbijzijnde geheel getal of een opgegeven precisie.
Voorbeeld: FLOOR(2.7) geeft 2 terug.
Deze functie zorgt ervoor dat het afgeronde getal niet groter is dan het origineel.
TRUNC-functie
De functie TRUNC (truncate) verwijdert het decimale deel van een getal en kapt af richting nul.
Voorbeeld: TRUNC(2.9) geeft 2 terug, en TRUNC(-2.9) geeft -2 terug.
TRUNC verwijdert het fractionele deel van een getal zonder het per se af te ronden.
Kortom, elke functie — CEILING, FLOOR en TRUNC — heeft een specifiek doel bij datamanipulatie en vormt een aanvulling op de ROUND-functie.
Met deze functies kun je een breed scala aan afrondingsscenario's aan met meer precisie en geschiktheid voor de gegeven datacontext. Wil je meer van dit soort SQL-technieken leren? Bekijk dan de cheat sheet en ga aan de slag.
Conclusie
Je data op orde krijgen is superbelangrijk, en de SQL-ROUND-functie is een geweldige manier om te zorgen dat je cijfers prettig bruikbaar zijn. Je rondt je getallen af op het gewenste aantal decimalen en maakt je data begrijpelijker.
Als je op een specifieke manier moet afronden, heb je andere functies zoals CEIL, FLOOR en TRUNC achter de hand.
Of je nu net begint als junior dataprofessional of je skills wilt aanscherpen, cursussen zoals SQL Fundamentals en Intermediate SQL helpen je op weg.
Tijd om het in de praktijk te brengen. Succes!
Ik ben een contentstrateeg die graag complexe onderwerpen eenvoudig maakt. Ik heb bedrijven als Splunk, Hackernoon en Tiiny Host geholpen om boeiende en informatieve content te maken voor hun doelgroep.


Als je met data werkt, is precisie belangrijk. Maar als data scientist of data engineer krijg je dagelijks te maken met de complexiteit van het omzetten van data naar inzichten.
Omdat er altijd ruimte is om je vaardigheden aan te scherpen, kun je je capaciteiten en vertrouwen in gegevensverwerking vergroten met de SQL-functie `ROUND`.
Deze gids laat zien hoe een SQL-`ROUND`-functie de nauwkeurigheid van data in je analyses kan verfijnen.