YEAR 类型
该YEAR
类型是1字节类型,用于表示年份值。可以声明为YEAR
隐式显示宽度为4个字符,或者等效为YEAR(4)
显式显示宽度。
注意从MySQL 8.0.19开始,不建议
YEAR(4)
使用具有显式显示宽度的数据类型,并且在将来的MySQL版本中将不再支持该数据类型。而是,使用YEAR
不具有相同含义的显示宽度。MySQL 8.0不支持
YEAR(2)
旧版本MySQL中允许的两位数数据类型。有关转换为4位的指令YEAR
,请参见两位数年份(2)的限制和迁移到4位数年份中的MySQL 5.7参考手册。
MySQL YEAR
以YYYY
格式显示值,范围1901
为2155
,和0000
。
YEAR
接受多种格式的输入值:
- 为范围
'1901'
为到的 4位数字字符串'2155'
。 - 在到的范围内
1901
为 4位数字2155
。 - 为1或2位数的字符串,范围
'0'
为'99'
。MySQL的转换在范围内的值'0'
来'69'
和'70'
到'99'
到YEAR
的范围内的值2000
来2069
和1970
到1999
。 为1或2位数字,范围
0
为99
。MySQL的转换在范围内的值1
来69
和70
到99
到YEAR
的范围内的值2001
来2069
和1970
到1999
。插入数字的结果
0
显示值为,0000
内部值为0000
。要插入零并将其解释为2000
,请将其指定为字符串'0'
或'00'
。- 作为函数的结果,这些函数返回
YEAR
上下文中可接受的值NOW()
。
如果未启用严格的SQL模式,则MySQL会将无效YEAR
值转换为0000
。在严格的SQL模式下,尝试插入无效YEAR
值会产生错误。