平成30/ 2018-10-20 06:04
mysql/ year型

year型に0を登録すると、2000が登録される。これは仕様とのこと。
その場合は、0000を登録すればいい。

( Thanks. )
http://webcache.googleusercontent.com/search?q=cache:2lLP5RPhQIcJ:dev.mysql.com/doc/mysql/ja/year.html+&cd=3&hl=ja&ct=clnk&gl=jp
6.2.2.4. YEAR 型
YEAR 型は、年を表現するときに使用する 1 バイトの型です。

MySQL では、YEAR 型の値の取り出しと表示は YYYY 形式で行われます。範囲は 1901 〜 2155 です。

YEAR 型の値は、次に示すさまざまな形式で指定することができます。

範囲 '1901' 〜 '2155' の、4 桁の文字列として指定。

範囲 1901 〜 2155 の、4 桁の数値として指定。

範囲 '00' 〜 '99' の、2 桁の文字列として指定。範囲 '00' 〜 '69' と '70' 〜 '99' の値は、それぞれ範囲 2000 〜 2069 と 1970 〜 1999 の YEAR 値に変換される。

範囲 1 〜 99 の、2 桁の数値として指定。範囲 1 〜 69 と 70 〜 99 の値は、それぞれ範囲 2001 〜 2069 と 1970 〜 1999 の YEAR 値に変換される。注意: 2 桁の数値の範囲は、2 桁の文字列の範囲と多少異なる。数値として指定した場合、ゼロを直接入力して 2000 と解釈させることはできない。2000 と解釈させるには、必ず文字列の '0' または '00' として指定する必要がある。数値として指定すると、0000 として解釈される。

YEAR 型のコンテキストで許容される値を返す、NOW() などの関数の結果として指定。

不正な YEAR 値は 0000 に変換されます。