MySQL中TIMESTAMPDIFF和TIMESTAMPADD函数的用法

来源:互联网 发布:林弯弯淘宝店 编辑:程序博客网 时间:2024/05/16 04:13

在应用时,经常要使用这两个函数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。年
使用如下:
[sql] view plain copy
  1. mysql> select TIMESTAMPDIFF(day,'2012-08-24','2012-08-30');  
  2. +----------------------------------------------+  
  3. | TIMESTAMPDIFF(day,'2012-08-24','2012-08-30') |  
  4. +----------------------------------------------+  
  5. |                                            6 |   
  6. +----------------------------------------------+  
  7. 1 row in set (0.00 sec)  

[sql] view plain copy
  1. mysql> select TIMESTAMPDIFF(MINUTE,'2012-08-24 09:00:00','2012-08-30 12:00:00');  
  2. +-------------------------------------------------------------------+  
  3. | TIMESTAMPDIFF(MINUTE,'2012-08-24 09:00:00','2012-08-30 12:00:00') |  
  4. +-------------------------------------------------------------------+  
  5. |                                                              8820 |   
  6. +-------------------------------------------------------------------+  
  7. 1 row in set (0.01 sec)  

二,TIMESTAMPADD

语法:
TIMESTAMPADD(interval,int_expr,datetime_expr)

说明:
将整型表达式int_expr 添加到日期或日期时间表达式 datetime_expr中。式中的interval和上文中列举的取值是一样的。
[sql] view plain copy
  1. mysql> select TIMESTAMPADD(MINUTE,8820,'2012-08-24 09:00:00');  
  2. +-------------------------------------------------+  
  3. | TIMESTAMPADD(MINUTE,8820,'2012-08-24 09:00:00') |  
  4. +-------------------------------------------------+  
  5. | 2012-08-30 12:00:00                             |   
  6. +-------------------------------------------------+  
  7. 1 row in set (0.00 sec)  

SELECT TIMESTAMPDIFF(SECOND,'20160714120000',DATE_FORMAT(NOW(),'%Y%m%d%H%i%S')); 

3
0 0