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

更新於:2020 年 1 月 28 日

187 次瀏覽

啟動您的職業生涯

透過完成課程獲得認證

開始
廣告