2011-10-11 27 views
1

我要拆分的時間和使用SQL Server計算時間差2005如何拆分時間並計算sql server 2005中的時間差異?

我的默認輸出是這樣的:

EnrollNo  AttDateFirst       AttDateLast 
111  2011-12-09 08:46:00.000   2011-12-09 08:46:00.000 
112  2011-12-09 08:40:00.000   2011-12-09 17:30:00.000 
302  2011-12-09 09:00:00.000   2011-12-09 18:30:00.000 
303  2011-12-09 10:00:00.000   2011-12-09 18:35:00.000 

我想我的新的輸出是這樣的:

Enroll No  .....  FirtTime  LastTime  Time Diff 
111   .....  8:46:00   8:45:00  00:00:00 
112   .....  8:30:00   17:30:00  9:00:00 
302   .....  9:00:00   18:30:00  9:30:00 
303   .....  10:00:00   18:35:00  8:35:00 
+0

第一個和最後一個日期總是在同一天? –

+0

是同一天。我從衝牀獲得記錄,因此用戶可以在同一天衝任何時間,但我們想要獲得第一個和最後一個衝記錄並找到時差 – Jig12

回答

1

您可以使用此查詢:

select EnrollNo, convert(varchar, AttDateFirst, 8) as FirstTime, 
       convert(varchar, AttDateLast, 8) as LastTime, 
       convert(varchar, AttDateLast - AttDateFirst, 8) as [Time Diff] 
from YourTable 

返回以下結果:

EnrollNo FirstTime      LastTime      Time Diff 
----------- ------------------------------ ------------------------------ ------------------------------ 
111   08:46:00      08:46:00      00:00:00 
112   08:30:00      17:30:00      09:00:00 
302   09:00:00      18:30:00      09:30:00 
303   10:00:00      18:35:00      08:35:00 
+0

確定其工作,謝謝你 – Jig12

1

您可以使用

select DATEDIFF(day,2007-11-30,2007-11-20)AS NumberO fDays, DATEDIFF(小時,2007-11-30,2007-11-20)AS NUMBEROFHOURS, DATEDIFF(分鐘,2007-11-30,2007-11-20)AS NumberOfMinutes從 TEST_TABLE

分裂ü可以使用

substring(AttDateFirst,charindex(' ',AttDateFirst)+1 , 
         len(AttDateFirst)) as [FirstTime]