Probleem:
U wilt een getal afronden op een bepaald aantal decimalen.
Voorbeeld:
Onze database heeft een tabel met de naam product
met gegevens in de volgende kolommen:id
, name
, en price_net
.
id | naam | price_net |
---|---|---|
1 | brood | 2.34 |
2 | croissant | 1,22 |
3 | rollen | 0,68 |
Stel dat er een belasting van 24% is op elk product, en u wilt de brutoprijs van elk artikel berekenen (d.w.z. na belastingen) en de waarde afronden op twee decimalen.
Oplossing:
SELECT id, ROUND( price_net*1.24 , 2 ) as price_gross FROM product;
Deze zoekopdracht retourneert de brutoprijs afgerond op twee decimalen:
id | price_bruto |
---|---|
1 | 2,90 |
2 | 1,51 |
3 | 0,84 |
Discussie:
Als u een getal met drijvende komma in SQL op een bepaald aantal decimalen wilt afronden, gebruikt u de functie ROUND. Het eerste argument van deze functie is de kolom waarvan u de waarden wilt afronden; het tweede argument is optioneel en geeft het aantal plaatsen aan waarop u wilt afronden. Als u het tweede argument niet opgeeft, rondt de functie standaard af op het dichtstbijzijnde gehele getal.
In dit voorbeeld specificeren we niet het aantal plaatsen waarop we de kolom willen afronden:
SELECT id, ROUND(price_net*1.24) as price_gross FROM product;
En hier is het bijbehorende resultaat:
id | price_bruto |
---|---|
1 | 3 |
2 | 2 |
3 | 1 |