SQL Server 两个时间段的差and时间截取到时分
/*--------------------------时间截取到时分-----------------------------------*/ select Left(CONVERT(varchar(100), '2017-11-24 19:25:30.740', 20),16)--返回2017-11-24 19:25 --单独截取 select datepart(hour,'2017-11-24 19:25:30.740')--返回小时19 /*-----------------两个时间段的差,精确到秒(可用于倒计时)----------------------*/ SELECT DATEDIFF( Second, '2009-8-25 12:15:12', '2009-9-1 7:18:20') --返回相差秒数 SELECT DATEDIFF( Minute, '2009-9-1 6:15:12', '2009-9-1 7:18:20') --返回相差分钟数 SELECT DATEDIFF( Day, '2009-8-25 12:15:12','2009-9-1 7:18:20')--返回相差的天数 SELECT DATEDIFF( Hour, '2009-8-25 12:15:12', '2009-9-1 7:18:20')--返回相差的小时 --求两个时间的相差的分钟数 --方法一 SELECT CONVERT(INT,DATEDIFF(Day, '2017-11-24 19:00:00', '2017-11-24 19:01:00')*24*60) +CONVERT(INT,DATEDIFF(Hour,'2017-11-24 19:00:00', '2017-11-24 19:01:00')*60) +CONVERT(INT,DATEDIFF(Minute, '2017-11-24 19:00:00', '2017-11-24 19:01:00')) --方法二 declare @day int --天 declare @hour int --小时 declare @min int --分 declare @sec int --秒 declare @alls int select GETDATE() set @alls=datediff(s,'2017-11-24 19:00:00',GETDATE()) --时间1与时间2之间的差(秒) set @day=@alls/86400 --天 set @hour=(@alls-@day*86400)/3600 --小时 set @min=(@alls-@day*86400-@hour*3600)/60 --分 set @sec=@alls-@day*86400-@hour*3600-@min*60 --秒 select CAST(@day as varchar(5))+'天' +CAST(@hour as varchar(2))+'小时' +CAST(@min as varchar(2))+'分' +CAST(@sec as varchar(2))+'秒' cha