我试图获得2个用户之间的时差,我需要几小时的差异。
我尝试使用DATEDIFF功能,但这是错误的。
这是我的代码:
SELECT DATEDIFF(*,
(SELECT max(u1.time_c)
FROM users u)
,
(SELECT max(u2.time_c)
FROM users u2)
答案 0 :(得分:14)
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)
))
答案 1 :(得分:3)
您的select语句中必须包含from
子句。
像
Select date1 - date2 from dual
返回date1和date2之间的天数。
如果您想要小时数:
Select (date1 - date2)*24 from dual;
(这只适用于oracle)