Oracle SQL の 'YYYY' と 'RRRR' のニュアンスを理解する
Oracle SQL での 'YYYY' と ' TO_DATE 関数の書式マスクとして RRRR' を使用すると、その類似性により混乱が生じる可能性があります。どちらのマスクも結果は 4 桁の年になりますが、それらの間には微妙な違いがあります。
切り捨て形式: 'YYYY'
'YYYY' 形式のマスクは年を表します。現在のシステム日付に基づく 4 桁の数字。例:
select trunc(to_date('27-Jul-1987'),'YYYY') FROM dual;
出力:
1987
2 桁の年の仮定: 'RRRR'
'RRRR' 形式マスクは別のアプローチを使用します。 2 桁で表される年は次のように解釈されます。
次の点を考慮してください。例:
select trunc(to_date('27-Jul-1987'),'RRRR') FROM dual;
出力:
1987
この場合、年「87」は 50 から 99 の範囲内にあるため、「以前」に基づいて 1987 年として解釈されます。世紀の仮定。
データへの影響操作
日付を扱うとき、特に 2 桁の年を扱うときは、'YYYY' と 'RRRR' の違いを理解することが重要です。たとえば、複数の世紀にわたる日付を比較する必要がある場合、'YYYY' を使用すると正確さが保証されますが、2 桁の年が存在する場合は 'RRRR' を使用すると不正確な結果が生じる可能性があります。
結論として、'YYYY' は次の結果を提供します。現在のシステム日付に基づいた正確な 4 桁の年であるのに対し、「RRRR」は 2 桁の年の入力に基づいた仮定を採用しています。 「YYYY」と「RRRR」のどちらを選択するかは、特定の要件とデータ内の 2 桁の年の存在によって異なります。
以上がOracle TO_DATE の YYYY と RRRR: 違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。