工作中需要求得二個時間的差別,
方法1
- declare @starttime varchar(8000)
- set @starttime= Cast(datediff(second,'2010-06-25 11:59:30','2010-06-27 12:58:00') as int)
- select '2010-06-25 11:59:30 与2010-06-27 12:58:00 的时间间隔是:'
- +
- cast(
- (@starttime-(@starttime%3600))/(3600*24)
- as varchar)+'天'+
- cast(
- (@starttime-(@starttime%3600))/(3600) -((@starttime-(@starttime%3600))/(3600*24)*24)
- as varchar) +'小时'+
- cast
- (
- (@starttime-(@starttime%60))/60 -((@starttime-(@starttime%3600))/60)
- as varchar
- )
- +'分钟'+cast((@starttime%60) as varchar)+'秒' as 时间差
方法2,如果要求不是很精確的話,用上一個方法太麻煩,可以直接一點。此方法測試可以對得對應的相關小時,或天數。但是只能取一個類型。
- declare @a datetime
- declare @b datetime
- declare @c datetime
- set @a=convert(datetime,getdate(),121)
- set @b= convert(datetime,(SELECT lasteditdt FROM mfworkorder where workorderno='6A0000141974' ),121)
- select @a
- select @b
- select datediff(hh,@b,@a)