TIMESTAMPDIFF(interval,datetime_expr1,datetime_expr2)返回日期或日期时间表达式datetime_expr1 和datetime_expr2the 之间的整数差。其结果的单位由interval 参数给出。该参数必须是以下值的其中一个:FRAC_SECOND 表示间隔是毫秒SECOND 秒MINUTE 分钟HOUR 小时DAY 天WEEK 星期MONTH 月QUARTER ...
请问mysql的sql中如何计算两个datetime的差,精确到小时,谢谢
TIMESTAMPDIFF(interval,datetime_expr1,datetime_expr2)
www.2cto.com 说明:
返回日期或日期时间表达式datetime_expr1 和datetime_expr2the 之间的整数差。其结果的
单位由interval 参数给出。interval 的法定值同TIMESTAMPADD()函数说明中所列出的相同。
SELECT TIMESTAMPDIFF(MONTH,'2009-10-01','2009-09-01');
interval可是:
SECOND 秒 SECONDS
MINUTE 分钟 MINUTES
HOUR 时间 HOURS
DAY 天 DAYS
MONTH 月 MONTHS
YEAR 年 YEARS2014-03-04
TIMESTAMPDIFF(interval,datetime_expr1,datetime_expr2)返回日期或日期时间表达式datetime_expr1 和datetime_expr2the 之间的整数差。其结果的单位由interval 参数给出。该参数必须是以下值的其中一个:FRAC_SECOND 表示间隔是毫秒SECOND 秒MINUTE 分钟HOUR 小时DAY 天WEEK 星期MONTH 月QUARTER 季度YEAR 年SELECT '年' AS `日期部分`, TIMESTAMPDIFF(YEAR, '2012-12-21', CURRENT_TIMESTAMP()) AS `数值`UNION ALLSELECT '季度' AS `日期部分`, TIMESTAMPDIFF(QUARTER, '2012-12-21', CURRENT_TIMESTAMP()) AS `数值`UNION ALLSELECT '月' AS `日期部分`, TIMESTAMPDIFF(MONTH, '2012-12-21', CURRENT_TIMESTAMP()) AS `数值`UNION ALLSELECT '日' AS `日期部分`, TIMESTAMPDIFF(DAY, '2012-12-21', CURRENT_TIMESTAMP()) AS `数值`UNION ALLSELECT '周' AS `日期部分`, TIMESTAMPDIFF(WEEK, '2012-12-21', CURRENT_TIMESTAMP()) AS `数值`UNION ALLSELECT '时' AS `日期部分`, TIMESTAMPDIFF(HOUR, '2012-12-21', CURRENT_TIMESTAMP()) AS `数值`UNION ALLSELECT '分' AS `日期部分`, TIMESTAMPDIFF(MINUTE, '2012-12-21', CURRENT_TIMESTAMP()) AS `数值`UNION ALLSELECT '秒' AS `日期部分`, TIMESTAMPDIFF(SECOND, '2012-12-21', CURRENT_TIMESTAMP()) AS `数值`;+----------+----------+| 日期部分 | 数值 |+----------+----------+| 年 | 1 || 季度 | 4 || 月 | 12 || 日 | 388 || 周 | 55 || 时 | 9328 || 分 | 559737 || 秒 | 33584279 |+----------+----------+8 rows in set (0.00 sec)mysql> select CURRENT_TIMESTAMP();+---------------------+| CURRENT_TIMESTAMP() |+---------------------+| 2014-01-13 16:58:17 |+---------------------+1 row in set (0.00 sec)2014-03-04
精确到小时
select TIMESTAMPDIFF(Hour,'2014-01-01 14:00','2014-01-01 16:00');
精确到分钟
select TIMESTAMPDIFF(MINUTE,'2014-01-01 14:00','2014-01-01 16:00')2014-03-04