首页 / ORACLE / Oracle对2位年份的处理
Oracle对2位年份的处理
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Oracle对2位年份的处理,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2750字,纯文字阅读大概需要4分钟。
内容图文
![Oracle对2位年份的处理](/upload/InfoBanner/zyjiaocheng/534/5ad40318e7074538b1d3ce8cc253987d.jpg)
欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入 虽然Oracle数据存储了4位的年份,但是如果只提供2位数字,Oracle就会根据使用的格式是YY还是RR来解释世纪。 YY格式 如果日期中的年份采用的格式为YY,并且只提供了2位年份,那么就认为这一年世纪与数
欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入
虽然Oracle数据存储了4位的年份,但是如果只提供2位数字,Oracle就会根据使用的格式是YY还是RR来解释世纪。
YY格式
如果日期中的年份采用的格式为YY,并且只提供了2位年份,那么就认为这一年世纪与数据库服务器上当前设置的世纪相同。因此,指定年份的前两位数字与前年份的前两位数据字相同。例如,如果提供的年份是14,而当前年份是2010年,那么提供的年份就是2014年,同理,如果提供年份是75,那么就是2075年。
如果日期中的年份使用YYYY格式,但是只提供了2位的年份,那么Oracle数据就会使用YY格式来解释。
下面来看一个查询,它在处理年份14和75时使用YY格式,在下面这个查询中,注意向TO_DATE函数输入的年份是14的75,其输出又被传递给TO_CHAR函数。后者又将日期转换成DD-MM-YY格式的字符串。
SQL> select to_char(to_date('<?xml:namespace prefix = st1 /><?xml:namespace prefix = st1 />04-05-14', 'dd-mm-yy'), 'dd-mm-yyyy'),
2 to_char(to_date('04-05-75', 'dd-mm-yy'), 'dd-mm-yyyy')
3 from dual
4 ;
TO_CHAR(TO_DATE('04-05-14','DD TO_CHAR(TO_DATE('04-05-75','DD
------------------------------ ------------------------------
04-05-2014 04-05-2075
RR格式
如果日期中年份采用的格式为RR,并且只提供了最后2位年份,那么年份中的前两位数字就由两部共同决定。提供年份的两位数字(指定年),数据库服务器上当前日期中年份的后2位数字(当年)。确定世纪的规则如下:
1:
如果指定年份在00-49之间,并且当前年份在00-49之间,那么指定年世纪就和当前年份世纪相同。如果指定01,当前是2010,那么指定年就为:2015
2:
如果指定年份在50-99之间,并且当前年份在00-49之间,那么指定年份世纪就等于当前年份的世纪减去1。如果指定是11,当前是2010,那么指定年就为:1911。
3:
如果指定年份在00-49之间,并且当前年份在50-49之间,那么指定年的世纪就是等于当前世纪加1。如果指定是为11,而当前年份是2055年,那么指定年就是2111年。
4:
如果指定年分在50-99之间,并且当前年在50-99之间,那么指定年的世纪就和当前年世纪相同。如果指定为51而当前年为2076年,那么指定年就2051年。
SQL> select to_char(to_date('04-05-14', 'dd-mm-rr'), 'dd-mm-yyyy'),
2 to_char(to_date('04-05-75', 'dd-mm-rr'), 'dd-mm-yyyy')
3 from dual
4 ;
TO_CHAR(TO_DATE('04-05-14','DD TO_CHAR(TO_DATE('04-05-75','DD
------------------------------ ------------------------------
04-05-2014 04-05-1975
select to_date('10-DEC-10 12:56:00','YYYY-MM-dd hh24:mi:ss','nls_date_language=American') from dual;
select to_char(to_date('10-DEC-10 12:56:00', 'dd-mm-rr hh24:mi:ss','nls_date_language=American'), 'yyyy-mm-dd hh24:mi:ss') from dual;
内容总结
以上是互联网集市为您收集整理的Oracle对2位年份的处理全部内容,希望文章能够帮你解决Oracle对2位年份的处理所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。