【www.bbyears.com--php入门】
trunc函数作用是截取日期,能准确到整点。截取后得到的仍为date数据类型。
一、基本用法
1、默认截取到日,例如:
select trunc(sysdate) from dual;
结果:2015-06-24 00:00:00
2、截取年:
select trunc(sysdate,"YYYY") from dual;
结果:2015-01-01 00:00:00
3、截取月:
select trunc(sysdate,"MM") from dual;
结果:2015-06-01 00:00:00
4、截取日:
select trunc(sysdate,"DD") from dual;
结果:2015-06-24 00:00:00
5、截取小时:
select trunc(sysdate,"HH24") from dual;
结果:2015-06-24 10:00:00
6、截取分钟:
select trunc(sysdate,"MI") from dual;
结果:2015-06-24 10:35:00
7、截取秒会报错:
select trunc(sysdate,"SS") from dual;
直接使用sysdate。
二、加1的使用
1、加1表示加上一天:
select trunc(sysdate)+1 from dual;
结果:2015-06-25 00:00:00
2、加1小时:
select trunc(sysdate)+1/24 from dual;
结果:2015-06-24 01:00:00
3、加1分钟:
select trunc(sysdate)+1/24/60 from dual;
结果:2015-06-24 00:01:00
4、加1秒钟:
select trunc(sysdate)+1/24/60/60 from dual;
结果:2015-06-24 00:00:01
5、加10分钟:
select trunc(sysdate)+1/24/60*10 from dual;
select trunc(sysdate)+10/(24*60) from dual;
补充:
【返回】:日期
select sysdate from dual --当时日期
select trunc(sysdate) from dual
select trunc(sysdate ,"DD") from dual --今天日期
select trunc(sysdate,"d")+7 from dual --本周星期日
select trunc(sysdate,"dy")+7 from dual --本周星期日
select trunc(sysdate,"day")+7 from dual --本周星期日
select trunc(sysdate,"q") from dual--本季开始日期
select trunc(sysdate,"month") from dual --本月开始日期
select trunc(sysdate ,"mm") from dual --本月开始日期
select trunc(sysdate,"year") from dual --本年开始日期
select trunc(sysdate ,"yyyy") from dual --本年开始日期
select trunc(sysdate ,"HH24") from dual --本小时开始时间
select trunc(sysdate ,"MI") from dual --本分钟开始时间
select trunc(sysdate ,"CC") from dual --本世纪开始时间
select trunc(LAST_DAY(sysdate),"dd") from dual --本月最后一天
3、round(10.2356,2)函数可以对数字按指定保留小数位数四舍五入,这个函数还可以对日期四舍五入
select round(sysdate,"yyyy") from dual 四舍五入到年
select round(sysdate,"mm") from dual 四舍五入到月
select round(sysdate,"dd") from dual 四舍五入到日
select round(sysdate,"hh") from dual 四舍五入到小时
select round(sysdate,"mi") from dual 四舍五入到分钟
4、TRUNC还可以对number类型使用,
TRUNC(89.985,2)=89.98
TRUNC(89.985)=89
TRUNC(89.985,-1)=80