10

我正在尝试获取 2 个用户之间的时差,我需要小时差。

我尝试使用 DATEDIFF 函数,但它是错误的。

这是我的代码:

SELECT DATEDIFF(*,  
(SELECT max(u1.time_c)
FROM users u)
,
(SELECT max(u2.time_c)
FROM users u2) 
4

2 回答 2

16

来自MySQL DATEDIFF 文档

Only the date parts of the values are used in the calculation.

你会想看看TIMEDIFF

这将为您提供时间差的小时数(假设您的time_c字段是 DATETIME 或类似的)

SELECT HOUR(TIMEDIFF(  
  (SELECT max(u1.time_c) FROM users u),
  (SELECT max(u2.time_c) FROM users u2)
)) 
于 2012-06-07T06:37:28.227 回答
3

您的 select 语句中必须有一个from子句。就像是

Select date1 - date2 from dual

返回 date1 和 date2 之间的天数。

如果你想要小时数:

Select (date1 - date2)*24 from dual;

(这仅适用于甲骨文)

于 2012-06-07T06:39:13.163 回答