ABS (Transact-SQL)

Si applica a: sìSQL Server (tutte le versioni supportate) Sìdatabase SQL di Azure SìIstanza gestita di SQL di Azure sìAzure Synapse Analytics sìParallel Data Warehouse

Funzione matematica che restituisce il valore assoluto (positivo) dell'espressione numerica specificata. ABS cambia i valori negativi in valori positivi. ABS non ha effetto sui valori pari a zero o positivi.

Icona di collegamento a un argomento Convenzioni della sintassi Transact-SQL

Sintassi

ABS ( numeric_expression )  

Nota

Per visualizzare la sintassi Transact-SQL per SQL Server 2014 e versioni precedenti, vedere Documentazione delle versioni precedenti.

Argomenti

numeric_expression
Espressione della categoria del tipo di dati numerici esatti o numerici approssimati.

Tipi restituiti

Restituisce lo stesso tipo di numeric_expression.

Esempi

L'esempio illustra i risultati dell'uso della funzione ABS in tre numeri diversi.

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

Questo è il set di risultati.

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

La funzione ABS può produrre un errore di overflow quando il valore assoluto di un numero è maggiore del numero più alto che può essere rappresentato dal tipo di dati specificato. Ad esempio, il tipo di dati int ha intervallo di valori da -2,147,483,648 a 2,147,483,647. Il calcolo del valore assoluto per il valore integer con segno -2,147,483,648 provoca un errore di overflow, in quanto il valore assoluto corrispondente è maggiore dell'intervallo positivo per il tipo di dati int.

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

Restituisce il messaggio di errore seguente:

"Messaggio 8115, livello 16, stato 2, riga 3"

"Errore di runtime: si è verificato un errore di overflow aritmetico durante la conversione del tipo di dati da espressione a int".

Vedere anche

CAST e CONVERT (Transact-SQL)
Tipi di dati (Transact-SQL)
Funzioni matematiche (Transact-SQL)
Funzioni predefinite (Transact-SQL)