如何在 MySQL 中提供仅包含年(零个月和零天)值的日期?


通过禁用 NO_ZERO_IN_DATE 模式,我们可以在 MySQL 表中仅存储年份值,并将其月份和天数都设置为零。如果启用此模式,MySQL 会将此类日期视为无效日期,并存储所有零。

mysql> Insert into year_testing (OrderDate) values('2017:00:00');
Query OK, 1 row affected (0.09 sec)

mysql> select * from year_testing;
+------------+
| OrderDate  |
+------------+
| 2017-00-00 |
+------------+
1 row in set (0.00 sec)

mysql> SET sql_mode = 'NO_ZERO_IN_DATE';
Query OK, 0 rows affected (0.00 sec)

mysql> Insert into year_testing(OrderDate) values('2017:00:00');
Query OK, 1 row affected, 1 warning (0.04 sec)

mysql> Select * year_testing;
+------------+
| OrderDate  |
+------------+
| 2017-00-00 |
| 0000-00-00 |
+------------+
1 rows in set (0.00 sec)

更新时间:28-01-2020

188 次浏览

开启您的职业生涯

完成课程即可获得认证

入门
广告