YEAR Type
The YEAR type is a 1-byte type used to represent the year value. Can be declared as YEAR with an implicit display width of 4 characters or equivalently as YEAR(4), explicitly specifying the display width of 4.
MatrixOne displays YEAR values in YYYY format, ranging from 0001 to 9999.
YEAR accepts input values in various formats:
- As a 4-bit string with a range between '0001' and '9999'.
- As a 4-digit number with a range of 0001 to 9999.
- As a 1-bit or 2-bit string with a range between '0' and '99'. MatrixOne converts values ranging from '0' to '00' to YEAR values, automatically completing the first two digits '00', i.e. '0000' ~ '0099'.
- As a result of a function that returns acceptable values in the YEAR context, such as
NOW().
Double-digit years in date
Because the double-digit years in a date lack century values, its meaning is not clear enough. For consistency of internal storage, MatrixOne must interpret these date values as 4-digit forms.
For DATETIME, DATE, and TIMESTAMP types, MatrixOne follows the following rules to explain dates with uncertain year values:
- The year value within range 00-99 becomes 0000-0099.
Here are examples of dates involving 2 digits:
- Explain the date of type DATETIME:
Suppose we have a column of type DATETIME named event_date with the following date values:
| event_date |
|---|
| 2023-07-12 08:30 |
| 99-01-15 13:45 |
| 23-05-06 09:00 |
According to the rule, 2 years in the date value are interpreted as:
- 99-01-15 is interpreted as January 15, 0099.
-
23-05-06 is interpreted as May 6, 0023.
-
Explain the date of the DATE type:
Suppose we have a column of type DATE named birth_date with the following date values:
| birth_date |
|---|
| 95-08-21 |
| 04-11-30 |
| 88-03-17 |
According to the rule, 2 years in the date value are interpreted as:
- 95-08-21 is interpreted as August 21, 0095.
- 04-11-30 is interpreted as November 30, 0004.
-
88-03-17 is interpreted as March 17, 0088.
-
Explain the date of YEAR type:
Suppose we have a column of type YEAR called graduation_year with the following year values:
| graduation_year |
|---|
| 65 |
| 78 |
| 03 |
According to the rule, 2 years in the year value are interpreted as:
- 65 is interpreted as 0065.
- 78 is interpreted as 0078.
- 03 is interpreted as 0003.