这四个函数有点类似java中的函数,首先是
trunc(number,[decimals]) 这个函数类似截取函数
number:表示你要输入的数
decimals(小数): 表示你要截取的位数【正数表示小数点向右保留多少位,负数向左依次置零且小数点右边的截断】
eg:
select trunc(35.34,1) from dual; result: 35.3
select trunc(35.34,3) from dual; result:35.34
select trunc(35.34,-1) from dual; result:30
select trunc(35.34,-2) from dual; result: 0;
trunc(data,[format]) –这个是针对于日期来说的
data: 是一个日期值
format: 这是一个日期格式
1.select trunc(sysdate) from dual –2016-08-06 今天的日期为2016-08-06
2.select trunc(sysdate, ‘mm’) from dual –2016-08-01 返回当月第一天.
3.select trunc(sysdate,’yy’) from dual –2016-08-01 返回当年第一天
4.select trunc(sysdate,’dd’) from dual –2016-08-06 返回当前年月日
5.select trunc(sysdate,’yyyy’) from dual –2016-08-01 返回当年第一天
6.select trunc(sysdate,’d’) from dual –2016-08-06 (星期天)返回当前星期的第一天
7.select trunc(sysdate, ‘hh’) from dual –2016-08-06 17:00:00 当前时间为17:35
8.select trunc(sysdate, ‘mi’) from dual –2016-08-06 17:35:00 TRUNC()函数没有秒的精确
round(number,[decimals]) 这个函数其实就是一个四舍五入函数
number: 要处理的数值
decimals: 四舍五入后,要保留几位
select round(123.346,0) from dual; result: 0
select round(123.346,2) from dual; result: 123.35
select round(-123.346,2) from dual; result: -123.35
ceil和floor函数
ceil(n) 取大于等于n的最小整数
floor(n) 取小于等于n的最大整数
eg:
select ceil(34.3) from dual; result: 35
select floor(34.3) from dual; result: 34
coalesce:
COALESCE (expression_1, expression_2, ...,expression_n)依次参考各参数表达式,遇到非null值即停止并返回该值。如果所有的表达式都是空值,最终将返回一个空值。
使用COALESCE在于大部分包含空值的表达式最终将返回空值。
eg:
SELECT COALESCE(NULL,NULL,3,4,5) FROM dual result: 3