Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:SQL Server
Azure SQL-Datenbank
Verwaltete Azure SQL-Instanz
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL-Analyseendpunkt in Microsoft Fabric
Lagerhaus in Microsoft Fabric
SQL-Datenbank in Microsoft Fabric
Gibt einen numerischen Wert zurück, der auf die angegebene Länge oder Genauigkeit gerundet wurde.
Transact-SQL-Syntaxkonventionen
Syntax
ROUND ( numeric_expression , length [ , function ] )
Argumente
numeric_expression
Ein Ausdruck der genauen numerischen oder ungefähren numerischen Datentypkategorie.
length
Die Präzision, mit der numeric_expression abgerundet werden muss. length muss ein Ausdruck vom Typ tinyint, smallint oder int sein. Wenn length eine positive Zahl ist, wird numeric_expression auf die Anzahl der durch length angegebenen Dezimalstellen gerundet. Wenn length eine negative Zahl ist, wird numeric_expression wie durch lengthangegeben auf der linken Seite des Dezimaltrennzeichens gerundet.
Funktion
Die Art der Operation, die durchgeführt werden soll.
Funktion muss Tinyint, Smallint oder Int sein. Wenn die Funktion weggelassen wird oder einen Wert von 0 (Standard) hat, wird numeric_expression gerundet. Wenn ein anderer als 0 angegebener Wert angegeben ist, wird numeric_expression abgeschnitten.
Rückgabetypen
Gibt die folgenden Datentypen zurück.
| Ausdrucksergebnis | Rückgabetyp |
|---|---|
| tinyint | int |
| smallint | int |
| int | int |
| bigint | bigint |
| decimal- und numeric-Kategorie (p, s) | Dezimal(p, s) |
| money- und smallmoney-Kategorie | money |
| float- und real-Kategorie | float |
Hinweise
ROUNDGibt immer einen Wert zurück. Ist die Länge negativ und größer als die Anzahl der Ziffern vor dem Dezimalpunkt,ROUNDergibt .0Beispiel Ergebnis ROUND(748.58, -4)0 ROUNDgibt unabhängig vom Datentyp eine gerundete numeric_expression zurück, wenn die Länge eine negative Zahl ist.Beispiele Ergebnis ROUND(748.58, -1)750,00 ROUND(748.58, -2)700,00 ROUND(748.58, -3)Führt zu einem arithmetischen Überlauf, weil 748,58 standardmäßig auf Dezimal(5, 2) zurückgeht, was nicht zurückgeben 1000.00kann.Um auf vier Ziffern aufzurunden, ändert man den Datentyp der Eingabe. Beispiel:
SELECT ROUND(CAST (748.58 AS DECIMAL (6, 2)), -3);Hier sehen Sie das Ergebnis.
1000.00ROUNDBeendet Gleichstand, indem man die Hälfte von Null abrundet (auch bekannt als kommerzielles Runden).Beispiele Ergebnis ROUND(1.15, 1)1.2 ROUND(-1.15, 1)-1.2
Beispiele
A. Verwenden Sie ROUND und Schätzungen
Das folgende Beispiel zeigt zwei Ausdrücke, die zeigen, indem ROUNDdie letzte Ziffer immer eine Schätzung ist.
SELECT ROUND(123.9994, 3),
ROUND(123.9995, 3);
GO
Hier sehen Sie das Ergebnis.
----------- -----------
123.9990 124.0000
B. Verwenden Sie RUND- und Rundungsapproximationen
Das folgende Beispiel zeigt das Runden und die Näherungsberechnung von Werten.
SELECT ROUND(123.4545, 2),
ROUND(123.45, -2);
Hier sehen Sie das Ergebnis.
---------- ----------
123.4500 100.00
C. Benutze ROUND zum Abkürzen
Das folgende Beispiel verwendet zwei SELECT-Anweisungen, um den Unterschied zwischen dem Runden und dem Kürzen zu verdeutlichen. Die erste Anweisung rundet das Ergebnis. Die zweite Anweisung kürzt das Ergebnis.
SELECT ROUND(150.75, 0);
GO
Hier sehen Sie das Ergebnis.
151.00
SELECT ROUND(150.75, 0, 1);
GO
Hier sehen Sie das Ergebnis.
150.00