Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro:SQL Server
Azure SQL Database
Spravovaná instance Azure SQL
Azure Synapse Analytics
Analytics Platform System (PDW)
Koncový bod analýzy SQL v Microsoft Fabric
Sklad v Microsoft Fabric
Databá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.)
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)