這些函數執行日期運算。 date 是一個 DATETIME 或DATE值,用來指定起始時間。 expr 是一個表達式,用來指定從起始日期添加或減去的時間間隔值。 Expr是一個字符串;對于負值的時間間隔,它可以以一個 ‘-'開頭。 type 為關鍵詞,它指示了表達式被解釋的方式。
關鍵詞INTERVA及 type 分類符均不區分大小寫。
以下表顯示了type 和expr 參數的關系:
type 值 | 預期的 expr 格式 |
MICROSECOND | MICROSECONDS |
SECOND | SECONDS |
MINUTE | MINUTES |
HOUR | HOURS |
DAY | DAYS |
WEEK | WEEKS |
MONTH | MONTHS |
QUARTER | QUARTERS |
YEAR | YEARS |
SECOND_MICROSECOND | 'SECONDS.MICROSECONDS' |
MINUTE_MICROSECOND | 'MINUTES.MICROSECONDS' |
MINUTE_SECOND | 'MINUTES:SECONDS' |
HOUR_MICROSECOND | 'HOURS.MICROSECONDS' |
HOUR_SECOND | 'HOURS:MINUTES:SECONDS' |
HOUR_MINUTE | 'HOURS:MINUTES' |
DAY_MICROSECOND | 'DAYS.MICROSECONDS' |
DAY_SECOND | 'DAYS HOURS:MINUTES:SECONDS' |
DAY_MINUTE | 'DAYS HOURS:MINUTES' |
DAY_HOUR | 'DAYS HOURS' |
YEAR_MONTH | 'YEARS-MONTHS' |
MySQL 允許任何expr 格式中的標點分隔符。表中所顯示的是建議的 分隔符。若 date 參數是一個 DATE 值,而你的計算只會包括 YEAR、MONTH和DAY部分(即, 沒有時間部分), 其結果是一個DATE 值。否則,結果將是一個 DATETIME值。
若位于另一端的表達式是一個日期或日期時間值 , 則INTERVAL expr type只允許在 + 操作符的兩端。對于 –操作符, INTERVAL expr type 只允許在其右端,原因是從一個時間間隔中提取一個日期或日期時間值是毫無意義的。 (見下面的例子)。
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'
新聞熱點
疑難解答