例说SQLServer2012数学函数
1 绝对值函数ABS(x)
例:
SQL查询:
?1 SELECT ABS(-1),ABS(0),ABS(1)
执行结果:
2 平方根函数SQRT(x)
例:
SQL查询:
?1 SELECT SQRT(4),SQRT(16)
执行结果:
3 随机函数RAND(),RAND(x)
例:
SQL查询:
?1 SELECT RAND(),RAND(10)
执行结果:
说明:
随机函数RAND()和RAND(x)返回一个0~1的随机浮点数(包含0和1)。
若指定参数x,则使用它作为种子值产生随机数。若使用同一个种子值,则产生的随机数也相同。
例:
SQL查询:
?1 SELECT RAND(10),RAND(10)
执行结果:
4 四舍五入函数ROUND(x,y)
例:
SQL查询:
?1 SELECT ROUND(32.12456,-1),ROUND(32.12456,0),ROUND(32.12456,1),ROUND(32.12456,2)
执行结果:
说明:
参数x为四舍五入操作的对象,y为保留小数点后面的位数。
当y为负整数时,则代表保留至小数点前面的位置,如例子中的-1代表保留至小数点前面1位的数位上(个位)。
5 幂运算函数POWER(x,y),SQUARE(x),EXP(x)
例:
SQL查询:
?1 2 3 SELECT POWER(2.0,-1), POWER(2.0,0),POWER(2.0,1) SELECT SQUARE(-2.0),SQUARE(0),SQUARE(2.0) SELECT EXP(-2.0),EXP(0),EXP(2.0)
执行结果:
说明:
POWER(x,y)返回x的y次方的结果值。
SQUARE(x)返回x的平方值。
EXP(x)返回e的x次方的结果值。
6 对数运算LOG(x),LOG10(x)
例:
SQL查询:
?1 2 SELECT LOG(1),LOG(EXP(1)) SELECT LOG10(1),LOG10(10),LOG10(1000)
执行结果:
说明:
LOG(x)返回自然对数,实例中的LOG(EXP(1))返回值1正好说明了这一点。
LOG10(x)返回x的基数为10的对数。
7 符号函数SIGN(x)
例:
SQL查询:
?1 SELECT SIGN(-1),SIGN(0),SIGN(1)
执行结果:
说明:
SIGN(x)返回x的符号,x>0时返回1,x=0时返回0,x<0时返回-1。
8 角度、弧度互换函数RADIANS(x),DEGREES(x)
例:
SQL查询:
?1 2 SELECT RADIANS(90.0),RADIANS(180.0),RADIANS(360.0) SELECT DEGREES(PI()/2),DEGREES(PI()),DEGREES(PI()*2)
执行结果:
说明:
RADIANS(x)返回x对应的弧度值,DEGREES(x)返回x对应的角度值。
例子中的PI()函数返回圆周率。
9 正弦函数SIN(x)、反正弦函数ASIN(x)
例:
SQL查询:
?1 SELECT SIN(PI()/2),SIN(0),ASIN(1),ASIN(0)
执行结果:
说明:
SIN(x)返回x的正弦值,ASIN(x)返回x的反正弦值。
10 余弦函数COS(x)、反余弦函数ACOS(x)
例:
SQL查询:
?1 SELECT COS(PI()),COS(0),ACOS(-1),ACOS(1)
执行结果:
说明:
COS(x)返回x的余弦值,ACOS(x)返回x的反余弦值。
11 正切函数TAN(x)、反正切函数ATAN(x)、余切函数COT(x)
例:
SQL查询:
?1 SELECT TAN(PI()/4),ATAN(1),COT(PI()/4)
执行结果:
说明:
TAN(x)返回x的正切值,ATAN(x)返回x的反正切值,COT(x)返回x的余切值。