MySQL中TIMESTAMPDIFF和TIMESTAMPADD函式的用法
阿新 • • 發佈:2019-02-11
在應用時,經常要使用這兩個函式TIMESTAMPDIFF和TIMESTAMPADD。
一,TIMESTAMPDIFF
語法:
TIMESTAMPDIFF(interval,datetime_expr1,datetime_expr2)。
說明:
返回日期或日期時間表達式datetime_expr1 和datetime_expr2the 之間的整數差。其結果的單位由interval 引數給出。該引數必須是以下值的其中一個:
- FRAC_SECOND。表示間隔是毫秒
- SECOND。秒
- MINUTE。分鐘
- HOUR。小時
- DAY。天
- WEEK。星期
- MONTH。月
- QUARTER。季度
- YEAR。年
mysql> select TIMESTAMPDIFF(day,'2012-08-24','2012-08-30'); +----------------------------------------------+ | TIMESTAMPDIFF(day,'2012-08-24','2012-08-30') | +----------------------------------------------+ | 6 | +----------------------------------------------+ 1 row in set (0.00 sec)
mysql> select TIMESTAMPDIFF(MINUTE,'2012-08-24 09:00:00','2012-08-30 12:00:00'); +-------------------------------------------------------------------+ | TIMESTAMPDIFF(MINUTE,'2012-08-24 09:00:00','2012-08-30 12:00:00') | +-------------------------------------------------------------------+ | 8820 | +-------------------------------------------------------------------+ 1 row in set (0.01 sec)
二,TIMESTAMPADD 語法: TIMESTAMPADD(interval,int_expr,datetime_expr) 說明: 將整型表示式int_expr 新增到日期或日期時間表達式 datetime_expr中。式中的interval和上文中列舉的取值是一樣的。
mysql> select TIMESTAMPADD(MINUTE,8820,'2012-08-24 09:00:00'); +-------------------------------------------------+ | TIMESTAMPADD(MINUTE,8820,'2012-08-24 09:00:00') | +-------------------------------------------------+ | 2012-08-30 12:00:00 | +-------------------------------------------------+ 1 row in set (0.00 sec)