ABS (Transact-SQL)

返回指定数值表达式的绝对值(正值)的数学函数。

适用范围:SQL Server(SQL Server 2008 至当前版本),Windows Azure SQL Database(初始版本至当前版本)。

主题链接图标 Transact-SQL 语法约定

语法

ABS ( numeric_expression )

参数

  • numeric_expression
    精确数值或近似数值数据类型类别的表达式。

返回类型

返回与 numeric_expression 相同的类型。

示例

以下示例显示了对三个不同数字使用 ABS 函数所得的结果。

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

下面是结果集:

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

当一个数的绝对值大于指定数据类型所能表示的最大数时,ABS 函数可能产生溢出错误。 例如,int 数据类型只能容纳 -2,147,483,648 到 2,147,483,647 之间的值。 计算有符号整数 -2,147,483,648 的绝对值将导致溢出错误,因为其绝对值已超出 int 数据类型的正值范围。

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

下面是错误消息:

“Msg 8115,级别 16,状态 2,第 3 行”

“将表达式转换为数据类型 int 时发生算术溢出错误。”

请参阅

参考

CAST 和 CONVERT (Transact-SQL)

数据类型 (Transact-SQL)

数学函数 (Transact-SQL)

内置函数 (Transact-SQL)