数学函数简介

数学函数能够对数字表达式进行数学运算,并能够将结果返回给用户。数学函数可以对数据类型为整型(integer)、实型(real)、浮点型(float)、货币型(money)和smallmoney的列进行操作。它的返回值是6位小数,如果使用出错,则返回NULL值并显示提示信息,通常该函数可以用在sql语句的表达式中。

数学函数如表1所示。

表1  数学函数


函 数 名 称

说 明 描 述

ABS

返回指定数字表达式的绝对值

ACOS

返回余弦为float表达式值的弧度角

ASIN

返回正弦为float表达式值的弧度角

ATAN

返回正切为float表达式值的弧度角

CEILING

返回大于或等于指定表达式的最小整数

COS

返回指定的表达式中指定弧度的三角余弦值

COT

返回指定的表达式中指定弧度的三角余切值


COT

返回指定的表达式中指定弧度的三角余切值

DEGREES

将指定的弧度转换为角度

EXP

返回指定的float表达式的指数值

FLOOR

返回小于或等于指定表达式的最大整数

LOG

返回指定的float表达式的自然对数

LOG10

返回float表达式的以10为底的对数

PI

返回值为圆周率

POWER

将指定的表达式乘指定次方

RADIANS

将指定的角度转换为弧度

RAND

返回0~1之间的随机float数

ROUND

将数字表达式四舍五入为指定的长度或精度

SIGN

返回指定表达式的零(0)、正号(+1)或负号(-1)

SIN

返回指定的表达式中指定弧度的三角正弦值


SQUARE

返回指定表达式的平方

SQRT

返回指定表达式的平方根

TAN

返回指定的表达式中指定弧度的三角正切值


 


使用RAND(随机浮点数)函数

RAND函数用于返回0~1之间的随机float数。

语法:

RAND([ Seed ])

参数说明:

       Seed:给出种子值或起始值的整型表达式(tinyint、smallint或int)。

 说明:在单个查询中反复调用RAND()将产生相同的值。

示例:

使用RAND函数产生3个随机数


sql语句如下:

 

SELECT RAND ()AS "随机数",

RAND ()AS "随机数",

RAND ()AS "随机数"


使用ROUND(四舍五入)函数

ROUND函数用于将数字表达式四舍五入为指定的长度或精度。

语法:

 

ROUND ( numeric_expression , length [ , function ] )

 

参数说明:

l          numeric_expression:精确数字或近似数字数据类型类别的表达式(bit数据类型除外)。

l          length:为四舍五入的精度。length必须是tinyint、smallint或int。当length为正数时,numeric_expression四舍五入为length所指定的小数位数。当length为负数时,numeric_expression则按length所指定的在小数点的左边四舍五入。

l          function:要执行的操作类型。

示例:

使用ROUND函数将指定的数字四舍五入

sql语句如下:

 

SELECT ROUND(123.1994,3) AS "取小数点后3位 "

SELECT ROUND(123.1995,3) AS "取小数点后3位"


使用SQUARE(平方)函数和SQRT(平方根)函数

1.SQUARE(平方)函数

SQUARE函数用于返回指定表达式的平方。

语法:

SQUARE ( float_expression)

参数说明:

float_expression:float类型的表达式。

示例:

使用SQUARE函数计算指定数的平方。

SELECT SQUARE(2) AS "2的平方 "

运行结果:

4.0

2.SQRT(平方根)函数

SQRT函数用于返回指定表达式的平方根。

语法:

SQRT(float_expression)

参数说明:

float_expression:float类型的表达式,其返回值的类型为float型。

示例:

使用该函数返回1.00~10.00之间的数字平方根。

sql语句如下:

DECLARE @mysqrt float

SET @mysqrt = 1.00

WHILE @mysqrt < 10.00

BEGIN

  SELECT SQRT(@mysqrt)

  SELECT @mysqrt = @mysqrt + 1

END

程序运行结果如表1所示。

表1  结果集



数    字

平  方  根

数    字

平  方  根

1.00

1.0

6.00

2.44948974278318

2.00

1.4142135623731

7.00

2.64575131106459

3.00

1.73205080756888

8.00

2.82842712474619

4.00

2.0

9.00

3.0

5.00

2.23606797749979



 



 



使用三角函数

三角函数包括COS、COT、SIN以及TAN函数,分别表示为三角余弦值、三角余切值、三角正弦值和三角正切值。下面就来认识三角函数。

1.COS函数

COS函数用于返回指定的表达式中指定弧度的三角余弦值。

语法:

COS(float_expression)

参数说明:

float_expression:float类型的expression。其返回值的类型为float。

示例:

使用该函数返回指定弧度的COS值。



sql语句如下:

 

DECLARE @angle float

SET @angle = 15.87

SELECT CONVERT(varchar,COS(@angle)) AS COS值

 

运行结果:

 

-0.986901


2.COT函数

COT函数用于返回指定的表达式中指定弧度的三角余切值。

语法:

 

COT(float_expression)

 

参数说明:

float_expression:float类型的expression。其返回值的类型为float。

示例:

使用该函数返回指定弧度的余切值。

sql语句如下:

 

DECLARE @angle float

SET @angle = 125.1256

SELECT CONVERT(varchar,COT(@angle)) AS COT值

 

运行结果:

 

-1.67544


.SIN函数

SIN函数用于返回指定的表达式中指定弧度的三角正弦值。

语法:

SIN (float_expression)

参数说明:

       float_expression:float类型的表达式。其返回值的类型为float。

示例:

使用该函数计算指定角度的SIN值。

sql语句如下:

DECLARE @angle float

SET @angle = 23.1987

SELECT CONVERT(varchar,SIN(@angle)) AS SIN值

运行结果:

-0.934749


4.TAN函数

TAN函数用于返回指定的表达式中指定弧度的三角正切值。

语法:

TAN (float_expression)

参数说明:

float_expression:float或real数据类型的表达式,解释为弧度数。其返回值的类型为float。

示例:

使用该函数计算PI()/2的正切值。

SELECT TAN(PI()/2) AS TAN值

运行结果:

 

1.6331778728383844E+16


使用ABS(绝对值)函数

ABS函数用于返回给定数字表达式的绝对值。

语法:

ABS ( numeric_expression )

参数说明:

l   (numeric_expression):精确数字或近似数字数据类型类别的表达式(bit数据类型除外)。

示例:

求指定表达式的绝对值。sql语句如下:


SELECT ABS(1.0) AS "1.0的绝对值",
ABS(0.0) AS "0.0的绝对值",
ABS(-1.0) AS "-1.0的绝对值"



 



 



使用CEILING函数

CEILING函数用于返回大于或等于指定表达式的最小整数。

语法:

CEILING ( numeric_expression )

参数说明:

(numeric_expression):精确数字或近似数字数据类型类别的表达式(bit数据类型除外)。其返回值的数据类型为与numeric_expression相同的类型。

示例:

使用CEILING函数返回指定数的最小整数



sql语句如下:

SELECT CEILING (123.50)AS 结果,

CEILING (100.00)AS 结果,

CEILING (-123.45) AS 结果


使用DEGREES函数

DEGREES函数用于将指定的弧度转换为角度。

语法:

DEGREES ( numeric_expression )

numeric_expression:精确数字或近似数字数据类型类别的表达式(bit数据类型除外)。

函数从角度的弧度值返回numeric表达式,该表达式是以度为单位的角度值。

示例:

使用DEGREES函数将指定的弧度转换为角度。

sql语句如下:

SELECT DEGREES(-10.123000000000001000)

运行结果:

-580.005176010932360000




使用POWER(乘方)函数

POWER函数用于将指定的表达式乘以指定次方。

语法:

POWER ( numeric_expression, y )

参数说明:

l   numeric_expression:精确数字或近似数字数据类型类别的表达式(bit数据类型除外)。

l   y:表达式的乘方,y可以是精确数字或近似数字数据类型类别的表达式(bit数据类型除外)。

示例:

使用POWER函数计算指定数字的乘方。

sql语句如下:

SELECT POWER(2,2)AS "2的乘方结果",

POWER(3,3)AS "3的乘方结果",

POWER(4,4) AS "4的乘方结果"