Delen via


ABS (Transact-SQL)

Van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL Analytics-eindpunt in Microsoft FabricMagazijn in Microsoft FabricSQL-database in Microsoft Fabric

Een wiskundige functie die de absolute (positieve) waarde van de gespecificeerde numerieke uitdrukking teruggeeft. (ABS verandert negatieve waarden in positieve waarden. ABS heeft geen effect op nul- of positieve waarden.)

Transact-SQL syntaxis-conventies

Syntaxis

ABS ( numeric_expression )  

Arguments

numeric_expression
Een uitdrukking van de exacte numerieke of benaderende numerieke datatypecategorie.

Retourtypen

Het retourtype hangt af van het invoertype van numeric_expression:

Invoertype Resultaattype
Float, echt float
Decimaal(P, S) Decimaal(38, s)
int, smallint, tinyint int
bigint bigint
geld, smallmoney geld
bit float

Als het resultaat niet in het retourtype past, treedt er een rekenkundige overloopfout op.

Voorbeelden

Dit voorbeeld toont de resultaten van het gebruik van de ABS functie op drie verschillende getallen.

SELECT ABS(-1.0), ABS(0.0), ABS(1.0);  

Hier is het resultatenoverzicht.

---- ---- ----  
1.0  .0   1.0  

De ABS functie kan een overloopfout veroorzaken wanneer de absolute waarde van een getal groter is dan het grootste getal dat het gespecificeerde datatype kan weergeven. Bijvoorbeeld, het int datatype heeft een waardebereik van -2,147,483,648 tot 2,147,483,647. Het berekenen van de absolute waarde voor het getekende geheel getal -2,147,483,648 veroorzaakt een overloopfout omdat de absolute waarde de positieve bereiklimiet voor het int datatype overschrijdt.

DECLARE @i INT;  
SET @i = -2147483648;  
SELECT ABS(@i);  
GO  

Geeft deze foutmelding terug:

"Bericht 8115, Niveau 16, Staat 2, Lijn 3"

"Rekenkundige overloopfout bij het omzetten van expressie naar datatype int."

Zie ook

CAST en CONVERTEREN (Transact-SQL)
Gegevenstypen (Transact-SQL)
Wiskundige functies (Transact-SQL)
Ingebouwde functies (Transact-SQL)