我想要获得2个用户之间的时差,我需要几小时的差异.
我试图使用DATEDIFF函数,但这是错误的.
这是我的代码:
SELECT DATEDIFF(*,
(SELECT max(u1.time_c)
FROM users u)
,
(SELECT max(u2.time_c)
FROM users u2)
Run Code Online (Sandbox Code Playgroud)
Mat*_*dge 14
Only the date parts of the values are used in the calculation.
Run Code Online (Sandbox Code Playgroud)
你会想看看 TIMEDIFF
这将为您提供时间差异的小时数(假设您的time_c
字段为DATETIME或类似的字段)
SELECT HOUR(TIMEDIFF(
(SELECT max(u1.time_c) FROM users u),
(SELECT max(u2.time_c) FROM users u2)
))
Run Code Online (Sandbox Code Playgroud)
您的 select 语句中必须有一个from
子句。就像是
Select date1 - date2 from dual
Run Code Online (Sandbox Code Playgroud)
返回日期 1 和日期 2 之间的天数。
如果您想要小时数:
Select (date1 - date2)*24 from dual;
Run Code Online (Sandbox Code Playgroud)
(这仅适用于甲骨文)