ABS (języka Transact-SQL)

funkcja matematycznej, która zwraca wartość bezwzględną (dodatnie) dla określonego wyrażenie liczbowe.

Topic link iconKonwencje składni języka Transact-SQL

ABS ( numeric_expression )

Argumenty

  • numeric_expression
    To wyrażenie dokładne dane liczbowe numeryczne lub przybliżony typ kategorii, z wyjątkiem bit Typ danych.

Zwracane typy

Zwraca wartość tego samego typu co numeric_expression.

Przykłady

W poniższym przykładzie przedstawiono wyniki przy użyciu ABS Funkcja na trzy różne numery.

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

Here is the result set.

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

The ABS funkcja can produce an overflow error when the absolute value of a number is greater than the largest number that can be represented by the specified data type. Na przykład int Typ danych może zawierać tylko wartości, które należą do zakres od 2,147,483,648 Aby 2,147,483,647. Obliczanie wartości bezwzględnej dla podpisana liczba całkowita 2,147,483,648 powoduje błąd przepełnienia, ponieważ wartość bezwzględna jest większa niż dodatni zakres dla int Typ danych.

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

W tym polu jest komunikat o błędzie:

„ Msg 8115 poziom 16, State 2, wiersz 3 „

„ Błąd Przepełnienie arytmetyczne konwertowania wyrażenie int. typu danych „