Die Funktion ROUND - Amazon Redshift

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, FLOAT8 oder SUPER handeln. 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. Der SUPER-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 | +------------+-------+