新聞中心
?RR? 日期時(shí)間格式化元素類似于 ?YY? 日期時(shí)間格式化元素,但它為跨世紀(jì)日期值存儲(chǔ)提供了額外的靈活性。在 ?YY? 日期時(shí)間格式化元素里,您需要指定年份的全部數(shù)字。而在 ?RR? 日期時(shí)間格式化元素里,您只需指定年份數(shù)字的最后兩位數(shù),便可以存儲(chǔ)日期值。

?RR? 日期時(shí)間格式化元素與 ?TO_DATE? 函數(shù)一起使用,返回值的世紀(jì)根據(jù)指定的兩位數(shù)字年份和當(dāng)前年份的最后兩位數(shù)字而變化。如果 ?YY? 日期時(shí)間格式化元素與 ?TO_DATE? 函數(shù)一起使用,則返回的年份始終與當(dāng)前年份具有相同的世紀(jì)。
如果指定的兩位數(shù)字年份是 00~49,當(dāng)前年份的最后兩位數(shù)字是 00~49,則返回的年份與當(dāng)前年份具有相同的世紀(jì)。當(dāng)前年份的后兩位數(shù)字是 50~99,則返回年份的前兩位數(shù)字為下一個(gè)世紀(jì)。
如果指定的兩位數(shù)字年份是 50~99,當(dāng)前年份的后兩位數(shù)字為 00 到 49,則返回年份的前兩位數(shù)字為當(dāng)前年份 的上一個(gè)世紀(jì)。當(dāng)前年份的最后兩位數(shù)字是 50~99,則返回的年份與當(dāng)前年份處于同一個(gè)世紀(jì)。
如下所示,?RR? 日期時(shí)間格式化元素根據(jù)前兩位數(shù)字不同的年份返回相同的值。假設(shè)這些查詢是在 1950~1999 年期間發(fā)出的,執(zhí)行以下語(yǔ)句:
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;查詢結(jié)果如下:
+-------+-------+
| Year1 | Year2 |
+-------+-------+
| 1998 | 2017 |
+-------+-------+假設(shè)這些查詢是在 2000~2049 年期間發(fā)出的,執(zhí)行以下語(yǔ)句:
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;查詢結(jié)果如下:
+-------+-------+
| Year1 | Year2 |
+-------+-------+
| 1998 | 2017 |
+-------+-------+通過上面 2 個(gè)示例的查詢結(jié)果可見,無論是在 2000 年之前還是之后查詢,都將返回相同的值。
分享名稱:創(chuàng)新互聯(lián)OceanBase教程:OceanBase RR 日期時(shí)間格式化元素
文章地址:http://fisionsoft.com.cn/article/coedsdh.html


咨詢
建站咨詢
