Condividi tramite


ABS (Transact-SQL)

Funzione matematica che restituisce il valore assoluto (positivo) dell'espressione numerica specificata.

Icona di collegamento a un argomentoConvenzioni della sintassi Transact-SQL

Sintassi

ABS ( numeric_expression )

Argomenti

  • numeric_expression
    Espressione di un tipo di dati della categoria numerici esatti o numerici approssimati, con l'eccezione del tipo di dati bit.

Tipi restituiti

Restituisce lo stesso tipo dell'argomento numeric_expression.

Esempi

Nell'esempio seguente vengono illustrati i risultati dell'utilizzo della funzione ABS su tre numeri diversi.

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

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. Il tipo di dati int, ad esempio, consente di archiviare solo valori compresi tra 2,147,483,648 e 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

Messaggio di errore:

"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".