ABS (Transact-SQL)
Gilt für: SQL Server Azure SQL-Datenbank Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW) SQL Analytics-Endpunkt in Microsoft Fabric Warehouse in Microsoft Fabric
Eine mathematische Funktion, die den absoluten (positiven) Wert des angegebenen numerischen Ausdrucks zurückgibt. (ABS
ändert negative Werte in positive Werte. ABS
hat keine Auswirkung auf NULL- oder positive Werte.)
Transact-SQL-Syntaxkonventionen
Syntax
ABS ( numeric_expression )
Argumente
numeric_expression
Ein Ausdruck der genauen numerischen oder ungefähren numerischen Datentypkategorie.
Rückgabetypen
Der Rückgabetyp hängt vom Eingabetyp von numeric_expression ab:
Eingabetyp | Rückgabetyp |
---|---|
float, real | float |
decimal(p, s) | decimal(38, s) |
int, smallint, tinyint | int |
bigint | bigint |
money, smallmoney | money |
bit | float |
Wenn das Ergebnis nicht zum Rückgabetyp passt, wird ein Fehler durch einen arithmetischen Überlauf ausgelöst.
Beispiele
In diesem Beispiel werden die Ergebnisse dargestellt, die zurückgegeben werden, wenn die ABS
-Funktion auf drei verschiedene Zahlen angewendet wird.
SELECT ABS(-1.0), ABS(0.0), ABS(1.0);
Hier sehen Sie das Ergebnis.
---- ---- ----
1.0 .0 1.0
Die ABS
-Funktion kann einen Überlauffehler zur Folge haben, wenn der absolute Wert einer Zahl größer ist als die größte Zahl, die von dem angegebenen Datentyp dargestellt werden kann. Beispielsweise hat der Datentyp int
einen Wertebereich von -2,147,483,648
bis 2,147,483,647
. Durch das Berechnen des absoluten Werts für die ganze Zahl mit Vorzeichen, -2,147,483,648
, tritt ein Überlauffehler auf, da der absolute Wert größer ist als der positive Bereich für den int
-Datentyp.
DECLARE @i INT;
SET @i = -2147483648;
SELECT ABS(@i);
GO
Gibt die folgende Fehlermeldung zurück:
"Meldung 8115, Ebene 16, Status 2, Zeile 3"
"Arithmetischer Überlauffehler beim Konvertieren des Ausdrucks in den Datentyp int."
Weitere Informationen
CAST und CONVERT (Transact-SQL)
Datentypen (Transact-SQL)
Mathematische Funktionen (Transact-SQL)
Integrierte Funktionen (Transact-SQL)