本篇示例讲解的是Oracle数据库常用的一些日期函数:
--1.add_months(d,n) :在日期d的基础长增加n个月
select sysdate,add_months(sysdate,5)add_months from dual
结果:2017/9/10
2018/2/10
select sysdate ,last_day(sysdate) last_day from dual
结果:2017/9/10
2017/9/30
--3. NEXT_DAY(d,number) :从时间d开始,下一星期几的日期
--星期一 1 | 星期二 2 |星期三 3 |星期四 4 |星期五 5 |星期六 6 |星期天 7
select to_char(sysdate ,'YYYY-MM-dd') ,next_day(sysdate,5) next_day from dual
--当前日期的下一个星期五的日期
结果:2017-09-10 2017/9/14
select months_between(to_date('2017-09-15','YYYY-MM-DD'), to_date('2017-05-15','YYYY-MM-DD')) months_between from dual
结果:
4
--5.按指定格式输出日期 : YYYY/MM/DD HH24:MI:SS
select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS') from dual
结果:2017-09-10 16:19:25
--6.ROUND(d,[fmt]) : 对日期d四舍五入,月份以每月15号为基准,年份以每年6月为基准 ,作为处理结果,"日"为默认为1号
select sysdate, round(sysdate,'year') from dual
结果:2017/9/10 2018/1/1
select sysdate , round(sysdate ,'month') from dual
结果:2017/9/10
2017/9/1
--7.TRUNC(d,[fmt]) :对日期进行截取运算(不是四舍五入)
select sysdate, trunc(sysdate,'year') from dual
结果:
2017/9/10 2017/1/1
select sysdate, trunc(sysdate,'month') from dual
结果:
2017/9/10 2017/9/1