SQLServer常见数学函数梳理总结

更新时间:2022-08-04 09:54:33

今天给大家分享一下SQLServer常见的数学函数相关的知识笔记

1.绝对值函数ABS(x)和返回圆周率的函数PI()

ABS(x)返回x的绝对值,PI()返回圆周率的值

用法:

select ABS(5),ABS(-10.6),ABS(-99),PI();

输出结果:

5 10.6 99 3.14159265358979

2.平方根函数SQRT(x)

SQRT(x)返回非负数x的二次方根

用法:

select SQRT(9), SQRT(80);

输出结果:

3 8.94427190999916

3.获取随机数的函数RAND()和RAND(x)

RAND(x)返回一个随机浮点值v,范围在0~1之间(即0<=v<=1.0).如果指定一个整数参数x,则它被用作种子值,使用相同的种子数将产生重复序列。如果同一种子值多次调用RAND函数,它将返回同一生成值。

用法:

select RAND() 随机数1, RAND(1) 固定种子1, RAND(1) 固定种子2;

输出结果:

随机数1 固定种子1 固定种子2

0.472241415009636 0.713591993212924 0.713591993212924

说明:当RAND(x)的参数相同时,将产生相同的随机数,不同的x产生的随机数值不同。

4.四舍五入函数ROUND(x,y)

ROUND(x,y)返回接近于参数x的数,其值保留到小数点后面y位,若y为负值,则将保留x值到小数点左边y位。

用法:

select ROUND(1.38,1), ROUND(1.38,0),ROUND(232.38,-1), ROUND(232.38,-2);

输出结果:

2.400 2.000 100.00 200.00

5.符号函数SIGN(x)

SIGN(x)返回参数的符号,如果x的值为负、零或正时,返回结果依次为-1、0或1。

用法:

select SIGN(-5), SIGN(0), SIGN(5);

输出结果:

-1 0 1

6.取整的函数CEILING(x)和FLOOR(x)

CEILING(x)返回不小于x的最小整数值

FLOOR(x)返回不大于x的最大整数值;

用法:

select CEILING(-4.5), CEILING(4.5), FLOOR(-4.5), FLOOR(4.5);

输出结果:

-4 5 -5 4

7.幂运算函数POWER(x,y)、SQUARE(x)、和EXP(x)

POWER(x,y)函数返回x的y次乘方的结果值;

SQUARE(x)函数返回指定浮点值x的平方;

EXP(x)函数返回e的x乘方后的值。

用法:

select POWER(5,3), POWER(8,-2), SQUARE(5), SQUARE(-5), SQUARE(0), EXP(5), EXP(-5), EXP(0);

输出结果:

125 0 25 25 0 148.413159102577 0.00673794699908547 1

8.对数的运算LOG(x)和LOG10(x)

LOG(x)返回x的自然对数,x相对于基数e的对数。

LOG10(x)返回x的基数为10的对数。

用法:

select LOG(3),LOG(6),LOG10(1),LOG10(100),LOG10(1000);

输出结果说明:

对数定义域不能为负数,10的0次方为1,所以LOG10(1)返回结果是0,10的2次方为100,所以LOG10(100)返回结果是2,10的3次方为1000,所以LOG10(1000)返回结果是3;

9.角度与弧度相互转换的函数RANDIANS(x)

RANDIANS(x):将参数x由角度转换为弧度。

用法:

select RADIANS(60.0), RADIANS(180.0)

输出结果:

1.047197551196597600 3.141592653589793100

10.正弦函数SIN(x)和反正弦函数ASIN(x)

SIN(x):返回x的正弦,其中x为弧度值;

ASIN(x):返回x的反正弦,即正弦x的值,若x不在-1到1的范围内,则返回NULL。

用法:

select SIN(PI()/2),SIN(PI()),ASIN(1),ASIN(0);

输出结果:

1 1.22464679914735E-16 1.5707963267949 0

11.余弦函数COS(x)和反余弦函数ACOS(x)

COS(x)返回x的余弦,其中x为弧度值;

ACOS(x)返回x的反余弦,即余弦x的值。若x不在-1到1范围之内,则返回NULL;

用法:

select COS(0),COS(PI()),ACOS(1),ACOS(0);

输出结果:

1 -1 0 1.5707963267949

12.正切函数TAN(x),反正切函数ATAN(x)和余切函数COT(x)

TAN(x):返回x的正切,其中x为给定的弧度值;

ATAN(x):返回x的反正切,即正切x的值;

COT(x)返回x的余切。

用法:

select TAN(0.3),ROUND(TAN(PI()/2),0), ATAN(0.30933624960962325),ATAN(1),COT(0.3),1/TAN(0.3),COT(PI()/4);

输出结果:

0.309336249609623 1.63312393531954E+16 0.3 0.785398163397448 3.23272814376583 3.23272814376583 1

SQLServer