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)不确定我们用什么年份来表示“1900”或“2000”,通过将 00 存储到“val”。MySQL 将其解释为 2000 年。
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP