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
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 |
|---|---|
| schweben, echt | float |
| Dezimal(p, s) | Dezimal(38, s) |
| int, smallint, tinyint | int |
| bigint | bigint |
| Geld, 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)