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  
相關文章
相關標籤/搜索