2012-02-22 55 views
0

我有一個名爲tblMaintainsHdr 的表,我有以下幾列如何獲取的總時間在小時

 
asset_ID maintns_StrtDate Maintns_EndDate Maintains_strtTime  Maintains_EndTime 

1  2011-12-09  2011-12-09  2011-12-09 12:03:00.000 2011-12-09 12:03:00.000 
2  2011-12-10  2011-12-12  2011-12-10 12:03:00.000 2011-12-12 12:03:00.000 

我需要計算總的維持性小時考慮列

maintains start timemaintains end time,maintains start date,maintains end date

+0

你好@Lijina,需要補充的維持性開始日期或結束日期。如果我們只考慮開始時間和結束時間然後 ?如果我們在時間上加上了兩個,那麼總小時數就變成了96,否則是48小時! – 2012-02-22 07:30:34

+0

只考慮維護的開始時間和維護結束時間..因爲它是一個日期時間字段 – Lijina 2012-02-22 08:50:13

+0

請考慮我下面的答覆。使用本節:/ *不添加維護開始日期和結束日期* / – 2012-02-22 08:58:19

回答

0

在SQL腳本下面使用。

Declare @TableVar table(startDt Datetime, endDt Datetime, startTm dateTime, endTm dateTime) 

    select * from @TableVar 
    insert into @TableVar values ('2011-12-09','2011-12-09','2011-12-09 12:03:00.000','2011-12-09 12:03:00.000') 
    insert into @TableVar values('2011-12-10','2011-12-12','2011-12-10 12:03:00.000','2011-12-12 12:03:00.000') 

/* Without adding maintanance Start Date and End Date */ 
select 
     tot=sum(
       DATEDIFF(hh ,startTm ,endTm) 
     ) 
    from @TableVar 
-- It returns 48 


/* With adding maintanance Start Date and End Date */ 
    select 
     tot=sum(
       DATEDIFF(hh ,startDt + startTm ,endDt+endTm) 
     ) 
    from @TableVar 
-- It returns 96 

讓我知道如果沒有工作.. 如果我的回答工作的刻度標記爲答案