数值函数(Numeric Functions)接受数字输入并返回数字值。大多数数值函数返回精确到38位小数的数值。超越函数COS、COSH、EXP、LN、LOG、SIN、SINH、SQRT、TAN和TANH精确到36位小数。超越函数ACOS、ASIN、ATAN和ATAN2精确到30位小数。
超越函数(Transcendental Functions),指的是变量之间的关系不能用有限次加、减、乘、除、乘方、开方运算表示的函数。例如,对数函数和指数函数即为超越函数。 超越函数这个名词通常被拿来描述三角函数,例如正弦、余弦、正割、余割、正切、余切等。
数值函数为:
- ABS
- ACOS
- ASIN
- ATAN
- ATAN2
- BITAND
- CEIL
- COS
- COSH
- EXP
- FLOOR
- LN
- LOG
- MOD
- NANVL
- POWER
- REMAINDER
- ROUND (number)
- SIGN
- SIN
- SINH
- SQRT
- TAN
- TANH
- TRUNC (number)
- WIDTH_BUCKET
在下方的案例代码中,我们将使用DUAL表,它是一个“伪表”,可以用来测试函数和表达式。
/*
主题:数字函数
作者:AT阿宝哥, [email protected]
日期:2016年9月18日
说明:
注意:
*/
-------------------------------------------------------------------------------
--求绝对值
SELECT abs(-15) FROM dual;
--求正弦
SELECT sin(30 * 3.14159265359/180) FROM dual;
--四舍五入
select ROUND(45.926, 2) from Dual;
--截断
select TRUNC(45.926, 2) from Dual;
--取余数
select MOD(1600, 300) from Dual;
--举例:计算所得税
SELECT SAL , Mod(SAL,3500) * 0.2 FROM emp Where SAL > 3500;
-------------------------------------------------------------------------------