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.
ROUNDFunktion
Die ROUND Funktion rundet Zahlen auf die nächste Ganzzahl oder Dezimalzahl.
Die ROUND Funktion kann optional ein zweites Argument enthalten, INTEGER
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
ROUNDgibt den gleichen numerischen Datentyp wie die eingegebene Zahl zurü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 wird die 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 | +------------+-------+