【发布时间】:2014-12-15 07:29:45
【问题描述】:
我有一个登录/注销系统来计算员工的总工作时间。我的问题是分钟的日期和时间差的格式。
例子:
如果用户登录 8:00 AM 并退出 6:30 PM,总数应该是 10.50 但我的 SQL输出为 10 hrs and 30 mins。我知道公式(应该是30mins/60 = 50),但我不知道应该把股息(/60)放在我的 SQL 查询上。(see below my SQL Code)。
SQL 代码:
SELECT *,CAST(Datediff(HOUR, 0, logout_time - login_time) +
Cast(Datediff(MINUTE, 0, logout_time - login_time) -
(Datediff(HOUR, 0, logout_time - login_time) * 60 ) AS DECIMAL) / 100 AS Decimal(18,2)) AS [TotalHrs_Worked]
FROM table_DTR
WHERE CONVERT(VARCHAR(10),log_date, 101) BETWEEN '09/01/2014' AND '11/30/2014'
【问题讨论】:
-
DATEDIFF(分钟,注销时间,登录时间) / 60
-
@adrianm:我也试过了。但它没有给我运气
-
SELECT DATEDIFF(minute, '20141215 08:00:00', '20141215 18:30:00') / 60.0给我10.50000 -
你试过我的sql了吗?使用你的代码?
标签: sql-server vb.net datetime