我有一个查询,我试图让两个不同时间之间的持续时间(例如6.5小时)。时间差分计算日期和时间在单独列
在我的数据库中,时间和日期保存在不同的字段中,因此我可以高效地查询startDate或endDate,因为我从不按时查询。
我的查询看起来像这样
SELECT COUNT(*), IFNULL(SUM(TIMEDIFF(endTime,startTime)),0) FROM events WHERE user=18
有时一个事件会在一夜之间,所以时间差,需要考虑到的日期之间的差异也是如此。
我一直在试图
SELECT COUNT(*), IFNULL(SUM(TIMEDIFF(CONCAT(endDate,' ',endTime),CONCAT(startDate,' ',startTime))),0) FROM events WHERE user=18
当我做到这不幸的是我只得到错误,我似乎无法在两个字段合并为一个单一的时间戳。
感谢詹姆斯,我最后不得不使用HOUR(TIMEDIFF(结束日期,的startDate)+ HOUR(TIMEDIFF(结束时间,开始时间),为您介绍的方式,给了8000作为代替8 – pedalpete 2010-05-03 17:30:17
没问题的回应。你会失去小数部分,但我没有安装mySQL来测试,SUM(TIMEDIFF(endDate,startDate),TIMEDIFF(endTime,startTime))怎么样? – James 2010-05-04 08:13:59