MySql最全的计算时间差
計算兩日期時間之間相差的天數(shù),秒數(shù),分鐘數(shù),周數(shù),小時數(shù),這里主要分享的是通過MySql內(nèi)置的函數(shù) TimeStampDiff() 實現(xiàn)。
函數(shù) TimeStampDiff() 是MySQL本身提供的可以計算兩個時間間隔的函數(shù),語法為:
TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2)
返回日期或日期時間表達式datetime_expr1 和datetime_expr2the 之間的整數(shù)差。其中unit單位有如下幾種,分別是:FRAC_SECOND (microseconds), SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, QUARTER, YEAR 。該參數(shù)具體釋義如下:
FRAC_SECOND?? 表示間隔是毫秒
SECOND?? 秒
MINUTE?? 分鐘
HOUR?? 小時
DAY?? 天
WEEK?? 星期
MONTH?? 月
QUARTER?? 季度
YEAR?? 年
例如:
#計算兩日期之間相差多少周
select timestampdiff(week,'2011-09-30','2015-05-04');
#計算兩日期之間相差多少天
select timestampdiff(day,'2011-09-30','2015-05-04');
另外計算兩日期或時間之間相差多少天還可以使用 to_days 函數(shù),但是該函數(shù)不用于陽歷出現(xiàn)(1582)前的值,原因是當(dāng)日歷改變時,遺失的日期不會被考慮在內(nèi)。因此對于1582 年之前的日期(或許在其它地區(qū)為下一年 ), 該函數(shù)的結(jié)果實不可靠的。具體用法如:
to_days(end_time) - to_days(start_time);
??
#計算兩日期/時間之間相差的秒數(shù):
select timestampdiff(SECOND,'2011-09-30','2015-05-04');
另外還可以使用 MySql 內(nèi)置函數(shù) UNIX_TIMESTAMP 實現(xiàn),如下:
SELECT UNIX_TIMESTAMP(end_time) - UNIX_TIMESTAMP(start_time);
??
#計算兩日期/時間之間相差的時分?jǐn)?shù):
select timestampdiff(MINUTE,'2011-09-30','2015-05-04');
另外還可以如下實現(xiàn):
SELECT SEC_TO_TIME(UNIX_TIMESTAMP(end_time) - UNIX_TIMESTAMP(start_time));
總結(jié)
以上是生活随笔為你收集整理的MySql最全的计算时间差的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 中兴服务器售后,中兴全兼容智能视讯服务器
- 下一篇: ad9850c语言编程,AD9850与单