當在 CURDATE() 函式中新增時間單位的 INTERVAL 時,MySQL 的行為是怎樣的?


我們知道 CURDATE() 僅返回日期單位,因此在 CURDATE() 中新增時間單位的 INTERVAL 會模稜兩可。MySQL 總使用“00:00:00”時間表示當前日期,因此當我們在 CURDATE() 中新增時間單位的 INTERVAL 時,這種時間演算法會考慮此時間。以下示例將對此進行說明 −

mysql> Select CURDATE() + INTERVAL 0 hour;
+-----------------------------+
| curdate() + Interval 0 hour |
+-----------------------------+
| 2017-10-28 00:00:00         |
+-----------------------------+
1 row in set (0.00 sec)

mysql> select CURDATE() + INTERVAL 1 hour;
+-----------------------------+
| curdate() + Interval 1 hour |
+-----------------------------+
| 2017-10-28 01:00:00         |
+-----------------------------+
1 row in set (0.00 sec)

mysql> Select CURDATE() + INTERVAL 2 hour;
+-----------------------------+
| CURDATE() + INTERVAL 2 hour |
+-----------------------------+
| 2017-10-28 02:00:00         |
+-----------------------------+
1 row in set (0.00 sec)

更新於:2020-01-28

82 次瀏覽

開啟你的 職業生涯

完成課程,獲得認證

開始學習
廣告