1. 程式人生 > >MySQL中TIMESTAMPDIFF和TIMESTAMPADD函式的用法

MySQL中TIMESTAMPDIFF和TIMESTAMPADD函式的用法

在應用時,經常要使用這兩個函式TIMESTAMPDIFF和TIMESTAMPADD。

一,TIMESTAMPDIFF

語法:

TIMESTAMPDIFF(interval,datetime_expr1,datetime_expr2)。

說明:

返回日期或日期時間表達式datetime_expr1 和datetime_expr2the 之間的整數差。其結果的單位由interval 引數給出。該引數必須是以下值的其中一個:

  1. FRAC_SECOND。表示間隔是毫秒
  2. SECOND。秒
  3. MINUTE。分鐘
  4. HOUR。小時
  5. DAY。天
  6. WEEK。星期
  7. MONTH。月
  8. QUARTER。季度
  9. 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)