Oracle Databaseで日付をフォーマットする場合、RR
を使用するオプションがあります。 およびYY
2桁の年を返します。
これらの2つのフォーマット要素は似ています。違いは、2桁の年の解釈方法にあります。
RRRR
を使用するオプションもあります およびYYYY
4桁の年を返す場合。
例
RR
を比較する例を次に示します。 およびYY
フォーマット要素:
SELECT
TO_CHAR(TO_DATE('20-Dec-81', 'DD-Mon-RR'), 'YYYY') AS "RR",
TO_CHAR(TO_DATE('20-Dec-81', 'DD-Mon-YY'), 'YYYY') AS "YY"
FROM DUAL;
結果:
RR YY _______ _______ 1981 2081
RR
がわかります 81年を1981年と解釈し、YY
それを2081として解釈します。
-
YY
を使用する場合 、返される年は常に現在の年と同じ最初の2桁です。 -
RR
を使用 、戻り値の世紀は、指定された2桁の年と現在の年の下2桁によって異なります。
Oracleのドキュメントで説明されている方法は次のとおりです。
- 指定された2桁の年が00から49の場合、
- 現在の年の最後の2桁が00から49の場合、返される年は現在の年と同じ最初の2桁になります。
- 現在の年の最後の2桁が50〜99の場合、返される年の最初の2桁は、現在の年の最初の2桁より1大きいです。
- 指定された2桁の年が50〜99の場合、
- 現在の年の最後の2桁が00から49の場合、返される年の最初の2桁は、現在の年の最初の2桁より1少ない数字です。
- 現在の年の下2桁が50〜99の場合、返される年は現在の年と同じ最初の2桁になります。
RRRR
およびYYYY
フォーマット要素
RRRR
を比較する例を次に示します。 およびYYYY
フォーマット要素:
SELECT
TO_CHAR(TO_DATE('20-Dec-81', 'DD-Mon-RRRR'), 'YYYY') AS "RRRR",
TO_CHAR(TO_DATE('20-Dec-81', 'DD-Mon-YYYY'), 'YYYY') AS "YYYY"
FROM DUAL;
結果:
RRRR YYYY _______ _______ 1981 0081
この場合、RRRR
RR
と同じ年を返します しましたが、YYYY
0081年を返します。
上記の例は、TO_CHAR()
の方法を知っていることを前提としています。 およびTO_DATE()
仕事。 Oracle TO_CHAR(datetime)
を参照してください 関数とOracleTO_DATE()
詳細については、Oracleで機能してください。