Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Die ROUND-Funktion rundet Zahlen auf den nächsten Ganzzahl- oder Dezimalwert auf.
Die ROUND-Funktion kann optional ein zweites Argument als INTEGER
umfassen, um die Anzahl der Dezimalstellen für die Rundung in beide Richtungen anzugeben. Wenn Sie das zweite Argument nicht angeben, wird die Funktion auf die nächste ganze Zahl gerundet. Wenn das zweite Argument Ganzzahl angegeben wurde, wird die Funktion auf die nächste Zahl mit einer Genauigkeit von Ganzzahl Dezimalstellen gerundet.
Syntax
ROUND(number [ , integer ] )
Argumente
- number (Zahl
-
Eine Zahl oder ein Ausdruck, der zu einer Zahl ausgewertet wird. Es kann sich um den Typ
DECIMAL
,FLOAT8
oderSUPER
handeln. Amazon Redshift kann implizit andere numerische Datentypen konvertieren. - integer
(Optional) Eine
INTEGER
, die die Zahl der Dezimalstellen für das Runden in beide Richtungen angibt. DerSUPER
-Datentyp wird für dieses Argument nicht unterstützt.
Rückgabetyp
ROUND gibt denselben numerischen Datentyp wie die Eingabezahlzurück.
Wenn die Eingabe den Typ SUPER
hat, behält die Ausgabe den gleichen dynamischen Typ wie die Eingabe bei, während der statische Typ weiterhin den Typ SUPER
hat. Wenn der dynamische Typ von SUPER
keine Zahl ist, gibt Amazon Redshift NULL
zurück.
Beispiele
In den folgenden Beispielen werden Daten aus der TICKIT-Beispieldatenbank verwendet. Weitere Informationen finden Sie unter Beispieldatenbank.
Verwenden Sie das folgende Beispiel, um die für eine bestimmte Transaktion gezahlte Vergütung auf die nächste ganze Zahl zu runden.
SELECT commission, ROUND(commission)
FROM sales WHERE salesid=10000;
+------------+-------+
| commission | round |
+------------+-------+
| 28.05 | 28 |
+------------+-------+
Verwenden Sie das folgende Beispiel, um die für eine bestimmte Transaktion gezahlte Vergütung auf die erste Dezimalstelle zu runden.
SELECT commission, ROUND(commission, 1)
FROM sales WHERE salesid=10000;
+------------+-------+
| commission | round |
+------------+-------+
| 28.05 | 28.1 |
+------------+-------+
Verwenden Sie das folgende Beispiel, um die Genauigkeit wie im vorherigen Beispiel in die entgegengesetzte Richtung zu erweitern.
SELECT commission, ROUND(commission, -1)
FROM sales WHERE salesid=10000;
+------------+-------+
| commission | round |
+------------+-------+
| 28.05 | 30 |
+------------+-------+