codecamp

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 字符串到日期的转换规则
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

OceanBase 控制台指南

OceanBase ODC 使用指南

OceanBase Web 版 ODC

OceanBase 客户端版 ODC

OceanBase Connector/J 开发者指南

OceanBase 什么是OceanBase Connector/J

OceanBase SQL 参考(MySQL 模式)

OceanBase SQL 参考(Oracle 模式)

OceanBase 基本元素

OceanBase 数据库对象

OceanBase 函数

OceanBase 单行函数

OceanBase 返回数字的字符串函数

OceanBase 通用比较函数

OceanBase 编码解码函数

OceanBase SQL 调优指南

OceanBase 相关协议

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }