/*abs(n)

返回参数n所指定数值的绝对值(如果参数值为NULL,则返回结果为NULL,下同)。*/

--SELECT ABS(-3.14) FROM DUAL; --3.14

/*round(n[, m])

返回对参数n进行四舍五入处理后的结果。参数n可以是任意数字、m则必须为整数。如果省略参数m,则四舍五入到整数位;如m为正数,则将n四舍五入到小数点后的第m位;如m为负数,则将n四舍五入到小数点左侧的第m位。*/

--SELECT ROUND(3.1415) FROM DUAL; --3

--SELECT ROUND(3.1415,2) FROM DUAL;--3.14

--SELECT ROUND(314.167,2) FROM DUAL;--314.17

--SELECT ROUND(314.159,-2) FROM DUAL; --300

--SELECT ROUND(314.64,-1) FROM DUAL; --310

--SELECT ROUND(644.64,-3) FROM DUAL; --1000

/*trunc(n[, m])

返回对参数n进行截断处理后的结果。参数n可以是任意数字、m则必须为整数。如果省略参数m,则将数字n的小数部分截掉;如m为正数,则将n截断到小数点后的第m位;如m为负数,则将n截断到小数点左侧的第m位。*/

--SELECT TRUNC(3.1415926,3) FROM DUAL; --3.141

--SELECT TRUNC(3.1415926) FROM DUAL; --3

--SELECT TRUNC(125.14,-1) FROM DUAL; --120

--SELECT TRUNC(125.14,-2) FROM DUAL; --100


/*ceil(n)

向上取整,返回不小于n的最小整数。*/

--SELECT CEIL(3.14) FROM DUAL; --4

--SELECT CEIL(103.14) FROM DUAL; --104

/*floor(n)

向下取整,返回不大于n的最大整数。*/

--SELECT FLOOR(3.14) FROM DUAL; --3

--SELECT FLOOR(103.14) FROM DUAL; --103

/*sign(n)

判断数字值的正负。如果参数n的值小于0则返回-1;如果n大于0则返回1;如果n等于0则返回结果为0。*/

--SELECT SIGN(2) FROM DUAL; --1

--SELECT SIGN(-2) FROM DUAL; -- -1

--SELECT SIGN(0) FROM DUAL; --0

/*power(m, n)

返回参数m的n次幂。参数m和n可以是任意数字,但如果m值为0,则n必须为正数(否则会出现数字溢出错误)。*/

--SELECT POWER(2,5) FROM DUAL; --32

--SELECT POWER(2,-2) FROM DUAL; --0.25

--SELECT POWER(0,2) FROM DUAL; --0

/*

sqrt(n)

返回参数n的平方根。n必须为大于等于0的数字。*/

--SELECT SQRT(16) FROM DUAL; --4

/*mod(m, n)

取模运算,返回参数m除以n所得的余数。参数m和n可以是任意数字,返回结果的数据符号(正/负)与被除数m保持一致,如果n的值等于0,则直接返回m的值。*/

--SELECT MOD(10,3) FROM DUAL; --1

--SELECT MOD(-10,4) FROM DUAL; -- -2

/*exp(n)

幂运算,返回自然对数的底数e的n次幂(e=2.71828...)。*/

--SELECT EXP(2) FROM DUAL; --7.38905609893065

/*log(m, n)

对数运算,返回以m为底的n的对数。参数m可以是除0和1以外的任意正数,参数n可以是任意正数。*/

--SELECT LOG(2,8) FROM DUAL; --3

/*ln(n)

自然对数运算,返回参数n的自然对数(以e为底n的对数),参数n可以是任意正数。就是指log以e为底的对数,b=ln(a)表示e的b次方等于a。 LN(9)=2.19722457733622

e=2.71828……*/

--SELECT LN(9) FROM DUAL;

--SELECT POWER(2.71828,2.19722457733622) FROM DUAL; --8.99998669828808