Documentation Home

11.2.4 YEAR 类型

YEAR类型是用于表示年份值的 1 字节类型。它可以声明为 YEAR具有 4 个字符的隐式显示宽度,或者等效于YEAR(4)显式显示宽度。

笔记

从 MySQL 8.0.19 开始,YEAR(4) 不推荐使用具有显式显示宽度的数据类型,您应该期望在未来的 MySQL 版本中删除对它的支持。相反,使用YEAR 不带显示宽度,这具有相同的含义。

MySQL 8.0 不支持 YEAR(2)旧版本 MySQL 中允许的 2 位数据类型。有关转换为 4-digit 的说明YEAR,请参阅 MySQL 5.7 Reference Manual的 2-Digit YEAR(2) Limitations and Migrating to 4-Digit YEAR

MySQLYEAR以格式显示值, YYYY范围为 19012155, 和 0000.

YEAR接受多种格式的输入值:

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

  • 1901作为范围内的 4 位数字2155

  • 作为 1 或 2 位数字字符串,范围'0''99'. MySQL 将范围内的值转换为to和 to到 范围'0'to'69''70'to中的值 。 '99'YEAR2000206919701999

  • 0 作为范围内 的 1 位或 2 位数字99。MySQL 将范围内的值转换为to和 to到 范围1to6970to中的值 。 99YEAR2001206919701999

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

  • 作为返回上下文可接受的值的函数的结果YEAR,例如 NOW().

如果未启用严格 SQL 模式,MySQL 会将无效 YEAR值转换为0000. 在严格 SQL 模式下,尝试插入无效 YEAR值会产生错误。

另见第 11.2.8 节,“日期中的两位数年份”