分享

Sql Server函数全解(2):数学函数

 南方朔2016 2016-03-09

(点击上方蓝字,快速关注我们)


数学函数主要用来处理数值数据,主要的数学函数有:绝对值函数,三角函数(包括正弦函数,余弦函数,正切函数,余切函数)、对数函数,随机函数等。在错误产生时,数学函数将返回空值null。本次介绍各种数学函数的功能和用法。


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

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


select ABS(2),ABS(-3.3),ABS(-33),PI();


正数的绝对值是其本身,2的绝对值为2;负数的绝对值为其相反数,-3.3的绝对值为3.3,-33的绝对值为33。



2.平方根函数SQRT(x)

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


select ?SQRT(9), SQRT(40);



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

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


select RAND(), RAND(), RAND();


可以看到,不带参数的RAND()每次产生的随即数值是不同的。



select RAND(10), RAND(10), RAND(11);


可以看到,当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);


ROUND(1.38,1)保留小数点后面一位,四舍五入结果为1.4;ROUND(1.38,0)保留小数点后面0位,即返回四舍五入后的整数值,ROUND(232.38,-1)和ROUND(232.38,-2)分别保留小数点左边1位和2位。



5.符号函数SIGN(x)

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


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


SIGN(-21)返回-1,SIGN(0)返回0,SIGN(21)返回1



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

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


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


(1)、-3.35为负数,不小于-3.35的最小整数为-3,不小于3.35的最小整数值为4


(2)、-3.35为负数,不大于-3.35的最小整数为-4,不大于3.35的最小整数值为3



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

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


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


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


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


可以看到POWER(2,2)返回2的平方,结果为4;POWER(2.00,-2)返回2的-2次方,结果为0.25;


SQUARE(3)返回 3平方,结果为9;SQUARE(-3)返回-3的平方,结果为; SQUARE(0)返回0的平方,结果为0;


EXP(3)返回以e为底的3次方,结果为20.0855369231877, EXP(-3)返回以e为底的-3次方,结果为0.0497870683678639;


EXP(0)返回以e为底的0次方,结果为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)和DEGREES(x)

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


DEGREES(x)将参数x有弧度转换为角度。


select RADIANS(90.0), RADIANS(180.0), DEGREES(PI()/2), DEGREES(PI());



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);



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);



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);




出处:阿赫瓦里
链接:http://www.cnblogs.com/selene/p/4464068.html



数据库开发』分享 数据库 相关技术文章、工具资源、精选课程、热点资讯,欢迎关注。


微信号:DBDevs


(长按上图,弹出「识别二维码」后可快速关注)




    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多