在 OceanBase 中,RR 是一个日期时间格式化元素,用于表示两位数的年份。RR 年份元素与 YY 元素的不同之处在于对世纪的解释。

具体来说:

  •  YY 元素表示的年份范围是 1753 到 9999。

  •  RR 元素表示的年份范围是从当前年份开始,然后前推100年。


这就意味着 RR 元素会根据当前的世纪来解释年份。如果给定的年份在当前世纪的后半部分(>=50),则将其解释为上一世纪;否则,将其解释为当前世纪。这是为了在两个世纪之间进行平滑过渡。

以下是一个示例,假设当前年份是 2023:
-- 使用 YY 元素
SELECT TO_CHAR(TO_DATE('23', 'YY'), 'YYYY') FROM dual;
-- 结果是 '2023'

-- 使用 RR 元素
SELECT TO_CHAR(TO_DATE('23', 'RR'), 'YYYY') FROM dual;
-- 结果也是 '2023'

-- 使用 RR 元素,但表示的是上一世纪
SELECT TO_CHAR(TO_DATE('85', 'RR'), 'YYYY') FROM dual;
-- 结果是 '1985'

在这个例子中,'23' 被解释为当前世纪的年份,而'85' 被解释为上一世纪的年份。这有助于确保在年份表示中进行平滑的过渡。


转载请注明出处:http://www.pingtaimeng.com/article/detail/11589/OceanBase