Sdílet prostřednictvím


ABS (Transact-SQL)

Platí pro:SQL ServerAzure SQL DatabaseSpravovaná instance Azure SQLAzure Synapse AnalyticsAnalytics Platform System (PDW)Koncový bod analýzy SQL v Microsoft FabricSklad v Microsoft FabricDatabáze SQL v Microsoft Fabric

Matematická funkce, která vrací absolutní (kladnou) hodnotu zadaného číselného výrazu. (ABS mění záporné hodnoty na kladné. ABS nemá vliv na nulové ani kladné hodnoty.)

Transact-SQL konvence syntaxe

Syntaxe

ABS ( numeric_expression )  

Arguments

numeric_expression
Výraz pro přesnou numerickou nebo aproximativní číselnou datovou kategorii.

Návratové typy

Typ návratu závisí na typu vstupu numeric_expression:

Typ vstupu Návratový typ
Float, Real float
desetinné (p, s) desetinné (38, s)
int, smallint, tinyint int
bigint bigint
money, smallmoney peníze
bit float

Pokud výsledek nezapadá do typu returnu, dochází k aritmetické chybě přetečení.

Examples

Tento příklad ukazuje výsledky použití ABS funkce na třech různých číslech.

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

Tady je soubor výsledků.

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

Funkce ABS může způsobit chybu přetečení, pokud absolutní hodnota čísla překročí největší číslo, které daný datový typ může reprezentovat. Například int datový typ má hodnotový rozsah od -2,147,483,648 do .2,147,483,647 Výpočet absolutní hodnoty podepsaného celého čísla -2,147,483,648 způsobí chybu přetečení, protože jeho absolutní hodnota překračuje kladný rozsah pro daný int typ dat.

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

Vrací tuto chybovou zprávu:

"Msg 8115, úroveň 16, stav 2, linka 3"

"Chyba aritmetického přetečení, převod výrazu na datový typ int."

Viz také

CAST a CONVERT (Transact-SQL)
Datové typy (Transact-SQL)
Matematické funkce (Transact-SQL)
Předdefinované funkce (Transact-SQL)