创新互联OceanBase教程:OceanBase RR 日期时间格式化元素

RR​ 日期时间格式化元素类似于 ​YY​ 日期时间格式化元素,但它为跨世纪日期值存储提供了额外的灵活性。在 ​YY​ 日期时间格式化元素里,您需要指定年份的全部数字。而在 ​RR​ 日期时间格式化元素里,您只需指定年份数字的最后两位数,便可以存储日期值。

RR​ 日期时间格式化元素与 ​TO_DATE​ 函数一起使用,返回值的世纪根据指定的两位数字年份和当前年份的最后两位数字而变化。如果 ​YY​ 日期时间格式化元素与 ​TO_DATE​ 函数一起使用,则返回的年份始终与当前年份具有相同的世纪。

如果指定的两位数字年份是 00~49,当前年份的最后两位数字是 00~49,则返回的年份与当前年份具有相同的世纪。当前年份的后两位数字是 50~99,则返回年份的前两位数字为下一个世纪。

如果指定的两位数字年份是 50~99,当前年份的后两位数字为 00 到 49,则返回年份的前两位数字为当前年份 的上一个世纪。当前年份的最后两位数字是 50~99,则返回的年份与当前年份处于同一个世纪。

如下所示,​RR​ 日期时间格式化元素根据前两位数字不同的年份返回相同的值。假设这些查询是在 1950~1999 年期间发出的,执行以下语句:


SELECT TO_CHAR(TO_DATE('27-OCT-98', 'DD-MON-RR'), 'YYYY') "Year1" ,
TO_CHAR(TO_DATE('27-OCT-17', 'DD-MON-RR'), 'YYYY') "Year2"  FROM DUAL;

查询结果如下:


+-------+-------+
| Year1 | Year2 |
+-------+-------+
| 1998  | 2017  |
+-------+-------+

假设这些查询是在 2000~2049 年期间发出的,执行以下语句:


SELECT TO_CHAR(TO_DATE('27-OCT-98', 'DD-MON-RR'), 'YYYY') "Year1" ,
TO_CHAR(TO_DATE('27-OCT-17', 'DD-MON-RR'), 'YYYY') "Year2"  FROM DUAL;

查询结果如下:


+-------+-------+
| Year1 | Year2 |
+-------+-------+
| 1998  | 2017  |
+-------+-------+

通过上面 2 个示例的查询结果可见,无论是在 2000 年之前还是之后查询,都将返回相同的值。


新闻标题:创新互联OceanBase教程:OceanBase RR 日期时间格式化元素
网站URL:http://bzwzjz.com/article/coedsdh.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 重庆企业网站建设 网站制作公司 重庆网站制作 企业手机网站建设 网站建设方案 手机网站建设 企业网站设计 成都网站建设公司 网站建设 成都网站设计 成都网站制作 成都模版网站建设 成都网站建设 成都网站设计公司 app网站建设 营销型网站建设 成都网站建设 成都网站建设公司 专业网站设计 成都商城网站建设 成都商城网站建设 成都网站制作