MySQL 8.0 リファレンスマニュアル


MySQL 8.0 リファレンスマニュアル  /  ...  /  日付の 2 桁の年

11.2.8 日付の 2 桁の年

世紀が不明であるため、年が 2 桁の日付値はあいまいです。 MySQL では 4 桁を使用して内部的に年が格納されるため、このような値は 4 桁の形式に解釈する必要があります。

DATETIMEDATE、および TIMESTAMP 型では、MySQL は、次のルールを使用して、あいまいな年の値で指定された日付を変換します。

  • 00-69 の範囲内の年の値は 2000-2069 になります。

  • 70-99 の範囲内の年の値は 1970-1999 になります。

YEAR ではルールは同じですが、YEAR に挿入された数値 002000 ではなく 0000 になります。 YEAR にゼロを指定し、これを 2000 として解釈させるには、文字列 '0' または '00' としてこれを指定します。

これらのルールは、データ値が何を表すかを妥当に推測する単なる経験則であることを覚えておいてください。 MySQL で使用されるルールで必要な値が生成されない場合は、4 桁の年の値を含む明確な入力を指定する必要があります。

ORDER BY では、年が 2 桁の YEAR 値が適切にソートされます。

MIN()MAX() などの一部の関数は、YEAR を数値に変換します。 つまり、年が 2 桁の値は、これらの関数では正しく機能しません。 この場合の修正は、YEAR を 4 桁の年形式に変換することです。


関連キーワード:  クラス, 空間, リファレンス, 数値, YEAR, マニュアル, , 日付, 変換, ルール