Problem:
Sie möchten eine Zahl auf eine bestimmte Anzahl von Dezimalstellen runden.
Beispiel:
Unsere Datenbank hat eine Tabelle namens product
mit Daten in den folgenden Spalten:id
, name
und price_net
.
id | Name | Preis_Netto |
---|---|---|
1 | Brot | 2.34 |
2 | Hörnchen | 1.22 |
3 | rollen | 0,68 |
Angenommen, auf jedes Produkt fällt eine Steuer von 24 % an, und Sie möchten den Bruttopreis jedes Artikels berechnen (d. h. nach Steuern) und den Wert auf zwei Dezimalstellen runden.
Lösung:
SELECT id, ROUND( price_net*1.24 , 2 ) as price_gross FROM product;
Diese Abfrage gibt den auf zwei Dezimalstellen gerundeten Bruttopreis zurück:
id | price_brutto |
---|---|
1 | 2,90 |
2 | 1.51 |
3 | 0,84 |
Diskussion:
Wenn Sie eine Gleitkommazahl in SQL auf eine bestimmte Anzahl von Dezimalstellen runden möchten, verwenden Sie die ROUND-Funktion. Das erste Argument dieser Funktion ist die Spalte, deren Werte Sie runden möchten; das zweite Argument ist optional und gibt die Anzahl der Stellen an, auf die gerundet werden soll. Wenn Sie das zweite Argument nicht angeben, rundet die Funktion standardmäßig auf die nächste Ganzzahl.
In diesem Beispiel geben wir nicht die Anzahl der Stellen an, auf die wir die Spalte runden möchten:
SELECT id, ROUND(price_net*1.24) as price_gross FROM product;
Und hier ist das entsprechende Ergebnis:
id | price_brutto |
---|---|
1 | 3 |
2 | 2 |
3 | 1 |