购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

5.2 数学函数

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

5.2.1 绝对值函数ABS(x)

ABS(x)返回x的绝对值。

【例5.1】若要求2、-3.3和-33的绝对值,可执行如下的SQL语句:

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

提 示

dual表是一个虚拟表,用来构成SELECT的语法规则,Oracle保证dual中永远只有一条数据记录。

5.2.2 算术平方根函数SQRT(x)和求余函数MOD(x,y)

SQRT(x)返回非负数x的算术平方根。

【例5.2】若要求9、40和64的算术平方根,可执行如下的SQL语句:

3的平方等于9,因此9的算术平方根为3;40的算术平方根为6.32455532;64的算术平方根为8。

MOD(x,y)返回x被y除后的余数,MOD()对于带有小数部分的数值也起作用,它返回除法运算后的精确余数。

【例5.3】若要对MOD(31,8)、MOD(234, 10)、MOD(45.5,6)进行求余运算,可执行如下的SQL语句:

5.2.3 获取整数的函数CEIL(x)和FLOOR(x)

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

【例5.4】若要使用CEILING函数返回最小整数,可执行如下的SQL语句:

-3.35为负数,不小于-3.35的最小整数为-3,因此返回值为-3;不小于3.35的最小整数为4,因此返回值为4。

FLOOR(x)返回不大于x的最大整数值,返回值转化为一个BIGINT。

【例5.5】若要使用FLOOR函数返回最大整数,可执行如下的SQL语句:

-3.35为负数,不大于-3.35的最大整数为-4,因此返回值为-4;不大于3.35的最大整数为3,因此返回值为3。

5.2.4 获取随机数的函数DBMS_RANDOM.RANDOM和DBMS_RANDOM.RANDOM (x,y)

DBMS_RANDOM.RANDOM返回一个随机值。

【例5.6】若要使用DBMS_RANDOM.RANDOM产生随机数,可执行如下的SQL语句:

可以看到,不带参数的DBMS_RANDOM.RANDOM每次产生的随机数值是不同的。

【例5.7】若要使用DBMS_RANDOM.VALUE(x,y)函数产生数值为1~20之间的随机数,可执行如下的SQL语句:

从执行结果可知,DBMS_RANDOM.VALUE(1,20)产生了数值为1~20之间的随机数。

5.2.5 四舍五入函数ROUND(x)、ROUND(x,y)和TRUNC(x,y)

ROUND(x)返回最接近参数x的整数,对x值进行四舍五入。

【例5.8】若要使用ROUND(x)函数对操作数进行四舍五入操作,可执行如下的SQL语句:

可以看到,四舍五入处理之后,只保留了各个值的整数部分。

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

【例5.9】若要使用ROUND(x,y)函数对操作数进行四舍五入操作,结果保留小数点后面指定y位,可执行如下的SQL语句:

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

提 示

y值为负数时,保留的小数点左边的相应位数直接保存为0,不进行四舍五入。

TRUNC(x,y)返回被舍去至小数点后y位的数字x。若y的值为0,则结果不带有小数点或不带有小数部分。若y设为负数,则截去(归零)x小数点左起第y位开始后面所有低位的值。

【例5.10】若要使用TRUNC(x,y)函数对操作数进行四舍五入操作,结果保留小数点后面指定y位,可执行如下的SQL语句:

TRUNC (1.31,1)和TRUNC (1.99,1)都保留小数点后1位数字,返回值分别为1.3和1.9;TRUNC(1.99,0)返回整数部分值1;TRUNC (19.99,-1)截去小数点左边第1位后面的值,并将整数部分的1位数字置0,结果为10。

提 示

ROUND(x,y)函数在截取值的时候会四舍五入,而TRUNC(x,y)直接截取值,并不进行四舍五入。

5.2.6 符号函数SIGN(x)

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

【例5.11】若要返回3、-10和0的符号,可执行如下的SQL语句:

SIGN(3)返回1;SIGN(-10)返回-1;SIGN(0)返回0。

5.2.7 幂运算函数POWER(x,y)和EXP(x)

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

【例5.12】若要使用POWER函数进行乘方运算,可执行如下的SQL语句:

可以看到,POWER(2,2)返回2的2次方,是4;POWER(2,-2)返回2的-2次方,结果为4的倒数,即0.25。

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

【例5.13】若要使用EXP函数计算e的乘方,可执行如下的SQL语句:

EXP(3)返回以e为底的3次方,结果为20.0855369;EXP(-3)返回以e为底的-3次方,结果为0.049787068;EXP(0)返回以e为底的0次方,结果为1。

5.2.8 对数运算函数LOG(x,y)和LN(x)

LOG(x,y)返回以x为底y的对数。

【例5.14】若要使用LOG(x)函数计算自然对数,可执行如下的SQL语句:

10的2次乘方等于100,因此LOG(10,100)返回结果为2;同样,LOG(7,49)返回结果为2。

LN(x)返回x的自然对数,x相对于基数e的对数,参数n要求大于0。

【例5.15】若要使用LN计算以e为基数的对数,可执行如下的SQL语句:

5.2.9 正弦函数SIN(x)和反正弦函数ASIN(x)

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

【例5.16】若要使用SIN函数计算正弦值,可执行如下的SQL语句:

ASIN(x)返回x的反正弦值,即正弦为x的值。x的取值范围为-1~1。

【例5.17】若要使用ASIN函数计算反正弦值,可执行如下的SQL语句:

由计算结果可知,函数ASIN和SIN互为反函数。

5.2.10 余弦函数COS(x)和反余弦函数ACOS(x)

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

【例5.18】若要使用COS函数计算余弦值,可执行如下的SQL语句:

由计算结果可知,COS(0)值为1,COS(1)值为0.540302306。

ACOS(x)返回x的反余弦值,即余弦是x的值。x取值范围为-1~1。

【例5.19】若要使用ACOS函数计算反余弦值,可执行如下的SQL语句:

由计算结果可知,函数ACOS和COS互为反函数。

5.2.11 正切函数TAN(x)和反正切函数ATAN(x)

TAN(x)返回x的正切值,其中x为弧度值。

【例5.20】若要使用TAN函数计算正切值,可执行如下的SQL语句:

ATAN(x)返回x的反正切值,即正切为x的值。

【例5.21】若要使用ATAN函数计算反正切值,可执行如下的SQL语句:

由计算结果可知,函数ATAN和TAN互为反函数。 Z4S6hzF5wIvXhCecV6W5cG/hDaxEL6E12hMITBVmKuaOEs1eXdLTE3+QDhcqornP

点击中间区域
呼出菜单
上一章
目录
下一章
×