这是我存储过程中的一行。我的工作时间小时工作是存储分钟。如何存储它除以60。
(select
SUM(ISNULL(hoursworked,0))
from
UserTime
where
userid = @employeeid
and convert(varchar(100),checkin,106) = convert(varchar(100),@Startdate,106)
and loginstatus= 'Out')
hoursworked as int
我该如何实现这个
SUM(ISNULL(hoursworked/60,0))
答案 0 :(得分:1)
你可能得到的是0
。您应首先执行sum()
:
coalesce(sum(hoursworked)/60, 0)
问题是SQL Server执行整数除法,因此任何小于60(且大于或等于0)的值都将导致0
。你可能真的想要:
coalesce(sum(hoursworked)/60.0, 0)