SQL Server 数学函数

17 Mar 2025 | 6 分钟阅读

函数是具有一组 SQL 语句的对象。每个函数都接受参数作为输入,并在返回输出之前执行一系列操作。函数返回单个结果集。SQL Server 提供了几个数学函数来执行基本的数学计算。例如,我们可以使用这些函数来查找平方根、对数、四舍五入、向下取整、基本指数值和三角函数。

下图将显示 SQL Server 中使用的所有数学函数

SQL Server Mathematical Functions

数学函数分为两类:标准通用。这些 SQL 数学函数允许您修改数字数据,这对于数据处理至关重要。本文将介绍 SQL Server 中最常用的数学函数,并通过示例解释每个函数。下表列出了每个数学函数及其定义

函数名描述
ABS此函数用于获取绝对值或绝对正值。
ACOS此函数用于获取以弧度表示的角度,其余弦是指定的浮点表达式。它也称为反余弦。
ASIN此函数用于获取以弧度表示的角度,其正弦是指定的浮点表达式。它也称为反正弦。
ATAN此函数用于获取以弧度表示的角度,其正切是指定的浮点表达式。它也称为反正切。
ATN2此函数用于获取从 X 轴到指定点 (y, x) 的角度(以弧度表示)。其中,x 和 y 是两个浮点表达式。
CEILING此函数用于获取大于或等于指定数字表达式或给定值的最小值。
COS此函数用于获取三角余弦值,该值在给定表达式中以弧度测量。
COT此函数用于获取三角余切值,该值在给定表达式中以弧度测量。
DEGREES此函数用于将指定的弧度角转换为等效的度数角。
EXP此函数用于获取给定浮点表达式的指数值。
FLOOR此函数用于获取小于或等于给定数字表达式的最大整数值。
LOG此函数用于获取给定浮点表达式的自然对数(以 E 为底),其中 E 是欧拉数,等于 2.71828。
LOG10此函数用于获取给定浮点表达式的以 10 为底的对数值。
PI此函数用于获取圆周率 PI 的常数值,约等于 3.14
POWER此函数用于获取用户指定表达式或值的幂。
RADIANS此函数用于将给定角度转换为以弧度测量的等效角度。
RAND此函数用于获取正值,该值将大于或等于 0.0 且小于 1。
ROUND此函数用于获取最接近的数值,该值已四舍五入到指定的长度或精度。
SIGN此函数用于获取给定表达式的符号,可以是正数 (+)、负数 (-) 或零 (0)。
SIN此方法返回给定角度的以弧度表示的三角正弦值。
SQRT此函数用于计算给定数字或值的平方根。
SQUARE此函数计算指定值或单个数字的平方。
TAN此函数用于获取给定角度的三角正切的弧度值。

让我们通过示例了解最常见的数学函数。

示例 1:此示例使用 SQRT() 函数,该函数接受数值并显示平方根值

执行此语句将返回以下输出

SQL Server Mathematical Functions

示例 2:此示例使用 ABS() 函数,该函数接受数值(正数或负数)并显示绝对值(正值)

执行此语句将返回以下输出,我们看到两个结果都只有正值

SQL Server Mathematical Functions

示例 3:此示例使用 ACOS() 函数,该函数接受数值并显示以弧度表示的角度,其余弦是指定的浮点表达式

执行此语句将返回以下输出

SQL Server Mathematical Functions

注意:如果指定的值不在 -1 到 1 之间,此函数将返回 NULL 并报告域错误(无效浮点运算)。

示例 4:此示例使用 ASIN() 函数,该函数接受数值并显示以弧度表示的角度,其正弦是指定的浮点表达式。如果指定的值不在 -1 到 1 之间,它将返回 NULL 并报告域错误。

执行此语句将返回以下输出

SQL Server Mathematical Functions

这是另一个语句,我们提供的值不在 -1 到 1 之间

它显示以下错误消息

SQL Server Mathematical Functions

示例 5:此示例使用 CEILING() 函数,该函数接受数值并显示整数中的下一个最高值

执行此语句将返回以下输出

SQL Server Mathematical Functions

示例 6:此示例使用 FLOOR() 函数,该函数接受数值并显示整数中的下一个最低值

执行此语句将返回以下输出

SQL Server Mathematical Functions

示例 7:此示例使用 RAND() 函数,该函数接受数值并显示介于 0 和 1 之间的随机浮点值。它总是为相同的种子返回相同的输出。

执行此语句将返回以下输出

SQL Server Mathematical Functions

示例 8:此示例使用 DEGREES() 函数,并显示以弧度指定的角度的相应度数角。

执行此语句将返回以下输出

SQL Server Mathematical Functions

示例 9:此示例使用 POWER() 函数,并显示给定表达式的指定幂的值

执行此语句将返回以下输出

SQL Server Mathematical Functions

示例 10:此示例使用 LOG() 函数,并显示给定浮点表达式的自然对数。它的返回类型是浮点数。如果指定负值,它将返回错误消息。

执行此语句将返回以下输出

SQL Server Mathematical Functions

示例 11:此示例使用 SIGN() 函数,并显示给定表达式的正 (+1)、零 (0) 或负 (-1) 符号。它的返回类型与数字表达式相同。

执行此语句将返回以下输出

SQL Server Mathematical Functions

示例 12:此示例使用 RADIANS() 函数,该函数将指定的度数转换为以弧度测量的等效度数。它的返回类型是浮点数。

执行此语句将返回以下输出

SQL Server Mathematical Functions

结论

本文全面概述了 SQL Server 的几个内置数学函数,以及一些示例和输出。ABS、DEGREES、CEILING、FLOOR、POWER、SIGN 和 RADIANS 是算术函数,返回与输入值相同的数据类型。此外,EXP、SQUARE、SQRT、LOG10 和 LOG 等函数将其输入值 CAST 为 FLOAT 数据类型并返回 FLOAT 值的结果。