Oracle SQL での 'YYYY' と 'RRRR' 形式の区別
Oracle SQL では、'YYYY' と 'RRRR' の両方の形式が使用されます日付の年の部分を表します。ただし、この 2 つには微妙な違いがあります。
「YYYY」形式は、年を 4 桁の整数で表します。長さに関係なく、指定された年の値は常に完全な 4 桁の年とみなされます。
一方、'RRRR' 形式は 2 桁の年の値を異なる方法で処理します。 2 桁の年 (87 など) が指定された場合、「RRRR」は現在の年の最初の 2 桁をチェックします。指定された 2 桁の年が 00 ~ 49 の場合、それは現在の世紀の一部とみなされます。逆に、2 桁の年が 50 から 99 の間にある場合、'RRRR' はそれを前世紀に属するものとして解釈します。
この違いを説明するために、次の例を考えてみましょう。
select trunc(to_date('27-Jul-1987'),'YYYY') FROM dual;
この場合、「YYYY」では年が完全な 4 桁で表現されることが想定されているため、結果は「1987」になります。 integer.
ここで、「RRRR」形式を使用すると、
select trunc(to_date('27-Jul-1987'),'RRRR') FROM dual;
2 桁の年 '87' が現在の形式に含まれるため、結果も '1987' になります。世紀 (つまり、現在の年の最初の 2 桁)。
ただし、年の値を 2 桁の年に変更すると、前世紀では、結果は異なります:
select trunc(to_date('27-Jul-47'),'YYYY') FROM dual;
'YYYY' は指定された年を常に 4 桁の整数として解釈するため、このクエリは '0047' を返します。
select trunc(to_date('27-Jul-47'),'RRRR') FROM dual;
対照的に、「RRRR」は 2 桁の年「47」を前世紀に属するものとして解釈し、次の値を返します。 「1947年」。
以上がOracle SQLの「YYYY」と「RRRR」の年の形式の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。