ABS (Transact-SQL)

Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL Analytics-Endpunkt in Microsoft FabricWarehouse 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 )  

Hinweis

Informationen zum Anzeigen der Transact-SQL-Syntax für SQL Server 2014 (12.x) oder früher finden Sie unter Dokumentation zu früheren Versionen.

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 ist das Resultset.

---- ---- ----  
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)