如何在 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)
广告