TIMESTAMPDIFF函數
語法:spa
TIMESTAMPDIFF(interval,datetime_expr1,datetime_expr2) : 返回日期或日期時間表達式datetime_expr1 和datetime_expr2the 之間的整數差code
interval:間隔blog
FRAC_SECOND。表示間隔是毫秒
SECOND。秒
MINUTE。分鐘
HOUR。小時
DAY。天
WEEK。星期
MONTH。月
QUARTER。季度
YEAR。年it
datetime_expr1 開始時間class
datetime_expr2 結束時間date
SELECT TIMESTAMPDIFF(DAY , NOW(),'2018-06-22') day, NOW() day NOW() 1 2018-06-20 09:40:44
這裏剛開始以爲有點奇怪,now是20號,用22-20=2 應該是相差兩天,爲何查出來是相差1天。語法
可是若是這樣查im
SELECT TIMESTAMPDIFF(DAY , NOW(),'2018-06-22 10:00:00') day, NOW() day NOW() 2 2018-06-20 09:45:40
這樣就是相差兩天了!datetime
有個相對應的函數
TIMESTAMPADD
語法:
TIMESTAMPADD(interval,int_expr,datetime_expr) : 將整型表達式int_expr 添加到日期或日期時間表達式 datetime_expr中
interval :間隔
FRAC_SECOND。表示間隔是毫秒
SECOND。秒
MINUTE。分鐘
HOUR。小時
DAY。天
WEEK。星期
MONTH。月
QUARTER。季度
YEAR。年
int_expr 整型表達式
在月中,有些月有31天的 eg:
SELECT TIMESTAMPADD(MONTH , 2,'2018-05-31') DAY DAY 2018-07-31
可是有些是30天,結果則是:
SELECT TIMESTAMPADD(MONTH , 1,'2018-05-31') DAY DAY 2018-06-30