日期格式中去掉前导0 & RR格式的年份.TXT

Connected to Oracle Database 11g Enterprise Edition Release 11.2.0.1.0
Connected as att

SQL> select to_char(sysdate,'yyyy-mm-dd') from dual;

TO_CHAR(SYSDATE,'YYYY-MM-DD')
-----------------------------
2013-07-29

SQL> select to_char(sysdate+5,'yyyy-mm-dd') from dual;

TO_CHAR(SYSDATE+5,'YYYY-MM-DD'
------------------------------
2013-08-03

SQL> select to_char(sysdate+5,'yyyy-mm-fmdd') from dual;

TO_CHAR(SYSDATE+5,'YYYY-MM-FMD
------------------------------
2013-08-3

SQL> select to_char(sysdate+5,'yyyy-fmmm-dd') from dual;

TO_CHAR(SYSDATE+5,'YYYY-FMMM-D
------------------------------
2013-8-3


SQL> select to_char(sysdate,'yyyy-mm-fmdd hh24:mi:ss') from dual;

TO_CHAR(SYSDATE,'YYYY-MM-FMDDH
------------------------------
2013-07-29 14:32:7

SQL> select to_char(sysdate-10/24,'yyyy-mm-fmdd hh24:mi:ss') from dual;

TO_CHAR(SYSDATE-10/24,'YYYY-MM
------------------------------
2013-07-29 4:32:29

通过以上尝试可以推测,在如果在年级别指定fm,则月、日、时、分、秒都会被取出前导的0.

SQL> select to_char(sysdate-365*5,'fmyy-mm-dd hh24:mi:ss') from dual;

TO_CHAR(SYSDATE-365*5,'FMYY-MM
------------------------------
8-7-30 14:34:7

SQL> select to_char(sysdate-365*5,'yy-mm-dd hh24:mi:ss') from dual;

TO_CHAR(SYSDATE-365*5,'YY-MM-D
------------------------------
08-07-30 14:34:19

==========================================================================================

以前碰到过对于199x年的日期,由于提供的是两位格式的日期,而当成209x年处理的问题。(见日志“日期格式的转换.TXT”)

今天发现一个RR的年份格式。其说明如下:
如果当前日期的年份后两位数字是0~49之间,指定的日期年份后两位数字是0~49,返回当前的世纪;
如果当前日期的年份后两位数字是0~49之间,指定的日期年份后两位数字是50~99,返回当前的世纪之前的世纪;
如果当前日期的年份后两位数字是50~99之间,指定的日期年份后两位数字是0~49,返回当前的世纪之后的世纪;
如果当前日期的年份后两位数字是50~99之间,指定的日期年份后两位数字是50~99,返回当前的世纪;


与yy格式年份的不同可以通过下表得到:

Current Year|  Specified Date | RR Format |  YY Format
1995        |  27-OCT-95      | 1995      |  1995    
1995        |  27-OCT-17      | 2017      |  1917    
2001        |  27-OCT-17      | 2017      |  2017    
2001        |  27-OCT-95      | 1995      |  2095    

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

转载于:http://blog.itpub.net/26451536/viewspace-767384/

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值