2011-04-08 63 views
0

下面是我的表中的字段,它的值字段的數據類型爲varchar在SQL查詢時需要幫助

我想時間ActualTimeIn和銀泰之間的差異(以小時:分鐘:秒)

ActualTimeIn InTime 
09:30:00 AM 1:23:00 PM 

09:30:00 AM 11:30:00 AM 

09:30:00 AM 11:29:00 AM 

預期輸出是這樣的:

LateComing 

3:53:00 
2:00:00 
1:59:00 

回答

3
declare @T table(ActualTimeIn time(0), InTime time(0)) 

insert into @T values 
('09:30:00 AM', '1:23:00 PM'), 
('09:30:00 AM', '11:30:00 AM'), 
('09:30:00 AM', '11:29:00 AM') 

select cast(dateadd(s, datediff(s, ActualTimeIn, InTime), 0) as time(0)) 
from @T 

結果

---------------- 
03:53:00 
02:00:00 
01:59:00 
+0

感謝的Mikael告訴我,我怎麼輪第二至2個位數 – gbbosmiya 2011-04-08 06:43:17

+1

投結果爲varchar(8) – 2011-04-08 06:53:55

+1

@ user350104,@nihcap - 您可以使用時間(0)的數據類型來代替。 – 2011-04-08 07:25:22