34,591
社区成员
发帖
与我相关
我的任务
分享
declare @start datetime,@end datetime
select @start='2009-12-01 14:38',@end='2009-12-04 13:12:41'
select convert(varchar(10),datediff(ss,@start,@end)/(24*3600))+'天'
+convert(varchar(10),(datediff(ss,@start,@end)%(24*3600))/3600)+'小时'
+convert(varchar(10),((datediff(ss,@start,@end)%(24*3600))%3600)/60)+'分'
+convert(varchar(10),((datediff(ss,@start,@end)%(24*3600))%3600)%60)+'秒'
DECLARE @DATE1 DATETIME,@DATE2 DATETIME,@DELTA DATETIME
SET @DATE1='2009-12-01 14:38'
SET @DATE2='2009-12-04 14:38'
SET @DELTA = @DATE2 - @DATE1
SELECT CONVERT(VARCHAR, DATEDIFF(DAY, 0, @DELTA)) + '天' + DATENAME(HOUR, @DELTA)
+ '时'+ DATENAME(MINUTE, @DELTA) + '分'+ DATENAME(SECOND, @DELTA) + '秒'
declare @date1 datetime,@date2 datetime
set @date1='2009-12-01 14:38'
set @date2='2009-12-04 14:38'
select convert(varchar(10),DATEDIFF(dd,@date1,@date2))+'天'+ convert(varchar(10),DATEDIFF(hh,@date1,@date2)%24)+'小时'+
CONVERT(varchar(10),datediff(mm,@date1,@date2)%60 ) +'分钟' +CONVERT(varchar(10),datediff(ss,@date1,@date2)%60)+'秒'
declare @date1 datetime,@date2 datetime
set @date1='2009-12-01 14:38:00'
set @date2='2009-12-04 14:38:00'
select 时间差 =
cast(datediff(second , @date1, @date2) / (24*60*60) as varchar) + '天' +
cast((datediff(second , @date1, @date2) % (24*60*60)) / (60*60) as varchar) + '时' +
cast(((datediff(second , @date1, @date2) % (24*60*60)) % (60*60)) / 60 as varchar) + '分' +
cast(((datediff(second , @date1, @date2) % (24*60*60)) % (60*60)) % 60 as varchar) + '秒'
/*
时间差
----------------------
3天0时0分0秒
(所影响的行数为 1 行)
*/
declare @date1 datetime,@date2 datetime
set @date1='2009-12-01 14:38:00'
set @date2='2009-12-04 14:38:00'
select 时间差 =
cast(datediff(second , @date1, @date2) / (24*60*60) as varchar) + '天' +
cast((datediff(second , @date1, @date2) % (24*60*60)) / (60*60) as varchar) + '时' +
cast(((datediff(second , @date1, @date2) % (24*60*60)) % (60*60)) / 60 as varchar) + '分' +
cast(((datediff(second , @date1, @date2) % (24*60*60)) % (60*60)) % 60 as varchar) + '秒'
/*
时间差
----------------------
3天0时0分0秒
(所影响的行数为 1 行)
*/
declare @date1 datetime,@date2 datetime
set @date1='2008-04-06 16:27:25'
set @date2='2008-04-08 18:27:24'
select 时间差 =
cast(datediff(second , @date1, @date2) / (24*60*60) as varchar) + '天' +
cast((datediff(second , @date1, @date2) % (24*60*60)) / (60*60) as varchar) + '时' +
cast(((datediff(second , @date1, @date2) % (24*60*60)) % (60*60)) / 60 as varchar) + '分' +
cast(((datediff(second , @date1, @date2) % (24*60*60)) % (60*60)) % 60 as varchar) + '秒'
/*
时间差
-----------------------
2天1时59分59秒
(所影响的行数为 1 行)
*/