PL/SQL中关于时间的操作
===========================================================
作者: zhanglinye(
http://zhanglinye.itpub.net)发表于: 2007.07.13 11:33
分类: PL/SQL开发
出处:
http://zhanglinye.itpub.net/post/8929/307554---------------------------------------------------------------
1〉获得若干分钟前的时间 select sysdate,sysdate - N/(60*24) from dual;
或者 select sysdate,sysdate - interval 'N' minute from dual
2〉获得若干分钟后的时间 select sysdate,sysdate + N/(60*24) from dual;
或者 select sysdate,sysdate + interval 'N' minute from dual
注释:"N"表示需要减去或者加上的分钟数
3〉获得若干秒前的时间 select sysdate,sysdate - N*0.00001 from dual;
或者 select sysdate,sysdate - N/(60*60*24) from dual;
或者 select sysdate,sysdate - interval 'N' second from dual
4〉获得若干秒后的时间 select sysdate,sysdate + N*0.00001 from dual;
或者 select sysdate,sysdate - N/(60*60*24) from dual;
或者 select sysdate,sysdate + interval 'N' second from dual
注释:"N"表示需要减去或者加上的秒数
注释:N*0.00001 等价于 N/(60*60*24)
5〉获得若干小时前的时间 select sysdate,sysdate - N*/24 from dual;
或者 select sysdate,sysdate - interval 'N' hour from dual
6〉获得若干小时后的时间 select sysdate,sysdate + N*/24 from dual;
或者 select sysdate,sysdate + interval 'N' hour from dual
注释:"N"表示需要减去或者加上的小时数
7〉获得若干月之后同一时间 select sysdate,add_months(sysdate,N) from dual;
或者 select sysdate,sysdate + interval 'N' month from dual
8〉获得若干月之前的同一时间 select sysdate,add_months(sysdate,-N) from dual;
或者 select sysdate,sysdate - interval 'N' month from dual
注释:"N"表示需要减去或者加上的月数
9〉获得某个日期所在月份的第一天 select sysdate,trunc(sysdate,'mm') from dual;
10〉获得某个日期所在年的第一天 select sysdate,trunc(sysdate,'yyyy') from dual;
或者 select sysdate,to_date(to_char((to_number(to_char(sysdate,'yyyy')) * 100 + 1) * 100 + 1),'yyyymmdd') from dual