ホームページ >データベース >mysql チュートリアル >Oracle SQLの「YYYY」と「RRRR」の年の形式の違いは何ですか?

Oracle SQLの「YYYY」と「RRRR」の年の形式の違いは何ですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-27 21:13:10644ブラウズ

What's the Difference Between 'YYYY' and 'RRRR' Year Formats in Oracle SQL?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。