具体来说:
- 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