# 11.2.4 年份类型
这年
type 是一个 1 字节的类型,用于表示年份值。可以声明为年
隐式显示宽度为 4 个字符,或等效为年(4)
具有明确的显示宽度。
笔记
从 MySQL 8.0.19 开始,年(4)
不推荐使用具有显式显示宽度的数据类型,您应该期望在 MySQL 的未来版本中删除对它的支持。相反,使用年
没有显示宽度,具有相同的含义。
MySQL 8.0 不支持 2 位年(2)
旧版本的 MySQL 中允许的数据类型。有关转换为 4 位数的说明年
, 看2 位 YEAR(2) 限制和迁移到 4 位 YEAR (opens new window), 在MySQL 5.7 参考手册 (opens new window).
MySQL 显示年
中的值*年年
*格式,范围为1901
到2155
, 和0000
.
年
接受多种格式的输入值:
作为范围内的 4 位字符串
'1901'
到'2155'
.作为范围内的 4 位数字
1901
到2155
.作为范围内的 1 位或 2 位字符串
'0'
到'99'
.MySQL 转换范围内的值'0'
到'69'
和'70'
到'99'
到年
范围内的值2000
到2069
和1970
到1999
.作为范围内的 1 位或 2 位数字
0
到99
.MySQL 转换范围内的值1
到69
和70
到99
到年
范围内的值2001年
到2069
和1970
到1999
.插入数字的结果
0
显示值为0000
和内部价值0000
.插入零并将其解释为2000
, 将其指定为字符串'0'
要么'00'
.作为返回值的函数的结果,在
年
上下文,例如现在()
.如果没有开启严格的SQL模式,MySQL转换无效
年
值到0000
.在严格的 SQL 模式下,试图插入一个无效的年
值产生错误。也可以看看第 11.2.8 节,“日期中的两位数年份”.