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 |