How a value in a MySQL YEAR column is handled is controlled by the connection property yearIsDateType:
If yearIsDateType is
true(the default), YEAR is mapped to the Java data typejava.sql.Date.If yearIsDateType is
false, YEAR is mapped to the Java data typejava.sql.Short.
Connector/J follows the same rules that govern how values are inserted by a mysql client; see explanations in The YEAR Type for details.
Connector/J handles the retrieval of zero values from a YEAR column differently than a mysql client. Treatments of zero values depend on whether they are strings or numbers, and on the value of yearIsDateType:
-
If a string value of
'0','00', or'000'is entered into a YEAR column, when retrieved by Connector/J:If yearIsDateType is true, the retrieved value is equivalent to January 1, 2000 00:00:00.000.
If yearIsDateType is false, the retrieved value is
2000
-
If a numeric value of
0,00,000, or0000is entered into a YEAR column, when retrieved by Connector/J,If yearIsDateType is true, the retrieved value is equivalent to January 1, 2000 00:00:00.000.
If yearIsDateType is false, the retrieved value is
0