我想获取两个用户之间的时间差,需要以小时为单位计算。
我尝试使用DATEDIFF函数,但结果不正确。
这是我的代码:
SELECT DATEDIFF(*,
(SELECT max(u1.time_c)
FROM users u)
,
(SELECT max(u2.time_c)
FROM users u2)
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)
))
Select date1 - date2 from dual
返回日期1和日期2之间的天数。
如果您想要小时数:
Select (date1 - date2)*24 from dual;
(这仅适用于Oracle)
DATEDIFF()
函数返回的是天而不是小时的差异;而且只接受两个参数,而不是三个——但这是全部的问题吗?) - eggyal