2014-04-25 46 views
0

這是我的存儲過程中的一行。我的表格領域的工作時間是存儲分鐘。如何通過除以其存儲到60SUM(tablename/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)) 
+2

當你累了時發生了什麼? – BWS

+0

我試過你的版本,它似乎工作。問題是什麼? – Guneli

回答

1

你可能得到什麼是0。你應該做的第一sum()

coalesce(sum(hoursworked)/60, 0) 

的問題是,SQL Server會整數除法,因此任何值小於60(和大於或等於0)將導致0。你可能真的想要:

coalesce(sum(hoursworked)/60.0, 0)