如何在 MySQL 日期列中儲存諸如二月 30 日之類的日期?


假設我們希望在 MySQL 表中儲存類似 2 月 30 日這樣的日期,那麼我們首先必須啟用 ALLOW_INVALID_DATES 模式。

例如,我試圖在未啟用 ALLOW_INVALID_DATES 模式的情況下在表中新增這種日期,那麼 MySQL 將會發出如下錯誤 −

mysql> Insert into date_testing(date) values('2017-02-30');
ERROR 1292 (22007): Incorrect date value: '2017-02-30' for column
'Date' at row1

現在我們需要按照如下方式啟用 ALLOW_INVALID_DATES 模式 −

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

mysql> Insert into date_testing(date) values('2017-02-30');
Query OK, 1 row affected (0.14 sec)

mysql> select * from date_testing;
+------------+
| Date |
+------------+
| 2017-02-30 |
+------------+
1 row in set (0.00 sec)

上述 MySQL 查詢將允許我們在列中插入這種無效日期。

更新於:19-Jun-2020

160 次瀏覽

開啟您的職業生涯

完成課程即可獲得認證

開始
廣告
© . All rights reserved.