Amazon Redshift unterstützt ab dem 1. November 2025 nicht mehr die Erstellung neuer Python-UDFs. Wenn Sie Python-UDFs verwenden möchten, erstellen Sie die UDFs vor diesem Datum. Bestehende Python-UDFs funktionieren weiterhin wie gewohnt. Weitere Informationen finden Sie im Blog-Posting
Die Funktion ROUND
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,FLOAT8oderSUPERhandeln. Amazon Redshift kann implizit andere numerische Datentypen konvertieren. - Ganzzahl
(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 | +------------+-------+