oracle时间日常处理小结

1、测试环境
SYS@ocp> show rel
release 1102000100
$ uname -r
2.6.18-164.el5xen
2、补充:不完全恢复命令
recover database until time '2014-09-15:23:59:23';
3、测试结果如下,欢迎补充、指正


一、秒/second (00~59)
select to_char(sysdate,'ss')  from dual;
--04 当前秒

二、分钟/minute(00~59)
select to_char(sysdate,'mi')  from dual;                             --51
select to_char(sysdate - interval '1' MINUTE,'mi') from dual;        --50(前一分)
select to_char(sysdate-1/24/60,'HH24:MI')from dual;                  --20:51(前一分)
select to_char(sysdate+1/24/60,'HH24:MI')from dual;                  --20:53 (后一分)

三、小时/hour
1、12进制
select to_char(sysdate,'MM-DD HH12:MI AM')from dual;                  --09-17 08:53 PM
2、24进制
select to_char(sysdate,'MM-DD HH24:MI')from dual;                     --09-17 20:53
select to_char(sysdate-1/24,'HH24:MI')from dual;                      --19:53(前一小时)
select to_char(sysdate - 2*interval '1' hour,'hh24:mi') from dual;    --18:53 (前2小时)

四、星期几
select to_char(sysdate+1,'YYYY-MM-DD')from dual;                        --2014-09-18(后一天)
select to_char(sysdate+1,'day')from dual;                               --thursday(全称,星期几)
select to_char(sysdate+1,'dy')from dual;                                --thu(简写,星期几)
select to_char(to_date('2008-08-08','yyyy-mm-dd'),'day') from dual;     --Friday(全称,星期几)

五、日期
select to_char(sysdate - interval '7' day,'dd') from dual;                --10(七天前日期)
select to_char(sysdate,'ddd') from dual;                                  --260(当年第几天)
select to_char(sysdate,'dd') from dual;                                   --17(当月第几天)  

六、 第几周
select to_char(sysdate,'W') from dual;                                    --3(当月第几周)
select to_char(sysdate,'WW') from dual;                                   --38(当年第几周)

七、月份/month
select to_char(sysdate,'mm') from dual;                                  --09 (2位数字)
select to_char(sysdate,'mon') from dual;                                 --sep(英文简写)
select to_char(sysdate,'month') from dual;                               --september(英文全称)
select to_char(add_months(sysdate,1),'month') from dual;                 --october(1个月后)
select to_char(add_months(sysdate,24),'yyyy month') from dual;           --2016 september(2年后)
select to_char(sysdate - interval '7' month,'month') from dual;          --february(减去7个月)

八、第几季度/quarter(1-4)
select to_char(sysdate, 'Q') from dual;                                   --3
select ceil(to_number(to_char(sysdate,'mm'))/3) from dual;                --3  

九、年份
select to_char(sysdate,'y') from dual;                                     --4(最后一位) 
select to_char(sysdate,'yy') from dual;                                    --14(最后2位)
select to_char(sysdate,'yyy') from dual;                                   --014(最后3位)
select to_char(sysdate,'yyyy') from dual;                                  --2014(完整年份)
select to_char(sysdate - interval '7' year,'yyyy') from dual;              --2007(减去7年)

十、世纪
1、yyyy与rrrr
select to_date('10-DEC-10 12:56:00','YYYY-MM-dd hh24:mi:ss') from dual;     --0010-12-10 12:56:00
select to_date('10-DEC-10 12:56:00','rrrr-MM-dd hh24:mi:ss') from dual;     --2010-12-10 12:56:00
2、YY(2个Y)
与系统当前的世纪相同

select to_char(to_date(sysdate, 'dd-mm-yy'),'yyyy') from dual;              --2014
select to_char(to_date('25-05-14', 'dd-mm-yy'),'yyyy'),
          to_char(to_date('25-05-75', 'dd-mm-yy'),'yyyy') 
from dual;                                                                   --2014 2075
3、RR(2个R)
A、数据库当前年份在00-49之间:
指定年份在00-49之间,指定年世纪就和当前年份世纪相同。
select to_char(to_date('25-05-14','dd-mm-rr'),'yyyy') from dual;            --2014

指定年份在50-99之间,指定年份世纪等于当前的世纪减1。
select to_char(to_date('25-05-75','dd-mm-rr'),'yyyy') from dual;            --1975
B、数据库当前年份在50-99之间:
若指定年份在00-49之间,则指定年的世纪就是等于当前世纪加1: 指定11,当前为2055年,则指定年就是2111年。
若指定年份在50-99之间,则指定年的世纪就和当前年世纪相同:  指定51,当前为2076年,那么指定年就2051年。

十一、 时间格式参数
1、默认格式
alter system set reset nls_date_format scope=spfile; 
shutdown immediate
startup
select sysdate from dual;                                     --17-SEP-14(不精确,且不易读)
select systimestamp from dual;                                --17-SEP-14 09.18.54.449667 PM +08:00(秒后9位,繁琐)
2、永久指定时间格式
alter system set nls_date_format='yyyymmdd-hh24:mi:ss' scope=spfile;
shutdown immediate
startup
select sysdate from dual;                                        --20140917-21:21:17


本文链接:
http://blog.itpub.net/210154/viewspace-1273473/

zcs0237 
2014.09.18
More cleaner and more efficient!

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/210154/viewspace-1273473/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/210154/viewspace-1273473/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值