MySQL中YEAR(2)和YEAR(4)有什么区别?

MySQL中YEAR(2)和YEAR(4)有什么区别?

YEAR(2)可以以2位数字格式存储年份。例如,我们可以写69来存储1969年。在YEAR(2)中,年份可以从1970年到2069年(70到69)指定。

YEAR(4)可以以4位数字格式存储年份。例如,我们需要写19669来存储1969年。在YEAR(4)中,年份可以从1901年到2155年指定。

MySQL使用以下规则来解释2位数字年份值:

  • 范围在00-69之间的年份值被转换为2000-2069。
  • 范围在70-99之间的年份值被转换为1970-1999。

我们不应该以2位数字格式存储日期值,因为以这种格式存储的值在世纪不知道的情况下变得模糊。

以下是MySQL示例,更清楚地了解这一点-

mysql> Create Table year_test(val year(2));
Query OK, 0 rows affected, 1 warning (0.23 sec)

mysql> insert into year_test(val) values('70');
Query OK, 1 row affected (0.14 sec)

mysql> insert into year_test(val) values('00');
Query OK, 1 row affected (0.06 sec)
mysql> select * from year_test;
+------+
| val  |
+------+
| 70   |
| 00   |
+------+
2 rows in set (0.00 sec)

mysql> select * from year_test where val = '1970';
+------+
| val  |
+------+
| 70   |
+------+
1 row in set (0.03 sec)

mysql> select * from year_test where val = '2000';
+------+
| val  |
+------+
| 00   |
+------+
1 row in set (0.00 sec)

mysql> select * from year_test where val = '1900';
Empty set (0.06 sec)

通过将“val”存储为00,我们不确定使用哪个年份,“1900”还是“2000”。MySQL将其解释为2000年。

阅读更多:MySQL 教程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程