0

我有这张表叫做记录:

+---------------------+---------------------+
| date_returned       | date_borrowed       |
+---------------------+---------------------+
| 2013-05-31 09:27:38 | 2013-05-31 08:48:14 |
| 2013-05-31 09:22:27 | 2013-05-31 08:53:06 |
| 2013-05-31 09:27:38 | 2013-05-31 09:22:35 |
| 2013-05-31 15:27:02 | 2013-05-31 09:22:39 |
| 2013-05-31 15:27:02 | 2013-05-31 10:04:22 |
+---------------------+---------------------+

我想将总小时数作为结果中的另一列。我阅读了手册,但 datediff 似乎含糊不清,只是将差异返回为天。

4

3 回答 3

3

尝试:

SELECT 
    TIMEDIFF(date_borrowed, date_returned) AS diff
FROM
    tablename
于 2013-06-03T02:57:44.413 回答
3
SELECT 
    HOUR(TIMEDIFF(date_borrowed, date_returned)) as TotalHours
FROM
    tablename
于 2013-06-03T03:08:12.697 回答
2

转换为时间戳值怎么样 - 这将让您减去以秒为单位获得差异,并且您可以从那里进行尽可能多的操作。

SELECT
    date_returned,
    date_borrowed,
    (UNIX_TIMESTAMP(date_returned) - UNIX_TIMESTAMP(date_borrowed)) / 3600 AS hours
FROM tablename
于 2013-06-03T03:00:35.270 回答