YEAR
型は年の値を表すために使用される 1 バイトの型です。 これは、4 文字の暗黙的な表示幅で YEAR
として宣言することも、明示的な表示幅で YEAR(4)
と同等に宣言することもできます。
MySQL 8.0.19 では、明示的な表示幅を持つ YEAR(4)
データ型は非推奨であり、将来のバージョンの MySQL ではサポートされなくなる予定です。 かわりに、同じ意味を持つ表示幅を指定せずに YEAR
を使用してください。
MySQL 8.0 では、古いバージョンの MySQL で許可されている 2 桁の YEAR(2)
データ型はサポートされていません。 4 桁の YEAR
に変換する手順は、MySQL 5.7 Reference Manual の 2-Digit YEAR(2) Limitations and Migrating to 4-Digit YEAR を参照してください。
MySQL では、YEAR
値が 1901
から 2155
および 0000
の範囲で YYYY
形式で表示されます。
YEAR
は、次のような様々な形式で入力値を受け入れます:
'1901'
から'2155'
の範囲の 4 桁の文字列として。1901
から2155
までの範囲の 4 桁の数値として。'0'
から'99'
までの範囲の 1 桁または 2 桁の文字列として。 MySQL は、'0'
から'69'
と'70'
から'99'
の範囲の値を、2000
から2069
と1970
から1999
の範囲のYEAR
値に変換します。-
0
から99
までの範囲の 1 桁または 2 桁の数値として。 MySQL は、1
から69
と70
から99
の範囲の値を、2001
から2069
と1970
から1999
の範囲のYEAR
値に変換します。数値
0
を挿入した結果の表示値は0000
で、内部値は0000
です。 ゼロを挿入して2000
として解釈するには、文字列'0'
または'00'
として指定します。 NOW()
などのYEAR
コンテキストで許容される値を返す関数の結果として。
厳密な SQL モードが有効になっていない場合、MySQL は無効な YEAR
値を 0000
に変換します。 厳密な SQL モードでは、無効な YEAR
値を挿入しようとするとエラーが発生します。
セクション11.2.8「日付の 2 桁の年」も参照してください。