mysql> SELECT "1997-12-31 23:59:59" + INTERVAL 1 SECOND; -> 1998-01-01 00:00:00 mysql> SELECT INTERVAL 1 DAY + "1997-12-31"; -> 1998-01-01 mysql> SELECT "1998-01-01" - INTERVAL 1 SECOND; -> 1997-12-31 23:59:59 mysql> SELECT DATE_ADD("1997-12-31 23:59:59", -> INTERVAL 1 SECOND); -> 1998-01-01 00:00:00 mysql> SELECT DATE_ADD("1997-12-31 23:59:59", -> INTERVAL 1 DAY); -> 1998-01-01 23:59:59 mysql> SELECT DATE_ADD("1997-12-31 23:59:59", -> INTERVAL "1:1" MINUTE_SECOND); -> 1998-01-01 00:01:00 mysql> SELECT DATE_SUB("1998-01-01 00:00:00", -> INTERVAL "1 1:1:1" DAY_SECOND); -> 1997-12-30 22:58:59 mysql> SELECT DATE_ADD("1998-01-01 00:00:00", -> INTERVAL "-1 10" DAY_HOUR); -> 1997-12-30 14:00:00 mysql> SELECT DATE_SUB("1998-01-02", INTERVAL 31 DAY); -> 1997-12-02如果你指定了一個太短的間隔值(沒有包括
type
關鍵詞所期望的所有間隔部分),MySQL 假設你遺漏了間隔值的最左邊部分。例如,如果指定一個type
為DAY_SECOND
,那么expr
值被期望包含天、小時、分鐘和秒部分。如果你象"1:10"
樣指定一個值,MySQL 假設天和小時部分被遺漏了,指定的值代表分鐘和秒。換句話說,"1:10" DAY_SECOND
被解釋為等價于"1:10" MINUTE_SECOND
。這類似于 MySQL 解釋TIME
值為經過的時間而不是一天的時刻。 注意,如果依著包含一個時間部分的間隔增加或減少一個日期值,該日期值將被自動地轉換到一個日期時間值:mysql> SELECT DATE_ADD("1999-01-01", INTERVAL 1 DAY);
延伸閱讀
文章來源于領測軟件測試網 http://www.kjueaiud.com/