# 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 显示中的值*年年*格式,范围为19012155, 和0000.

接受多种格式的输入值:

  • 作为范围内的 4 位字符串'1901''2155'.

  • 作为范围内的 4 位数字19012155.

  • 作为范围内的 1 位或 2 位字符串'0''99'.MySQL 转换范围内的值'0''69''70''99'范围内的值2000206919701999.

  • 作为范围内的 1 位或 2 位数字099.MySQL 转换范围内的值1697099范围内的值2001年206919701999.

    插入数字的结果0显示值为0000和内部价值0000.插入零并将其解释为2000, 将其指定为字符串'0'要么'00'.

  • 作为返回值的函数的结果,在上下文,例如现在().

    如果没有开启严格的SQL模式,MySQL转换无效值到0000.在严格的 SQL 模式下,试图插入一个无效的值产生错误。

    也可以看看第 11.2.8 节,“日期中的两位数年份”.