mysql中計算日期整數差

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
相關文章
相關標籤/搜索