码迷,mamicode.com
首页 > 数据库 > 详细

SQL Server 两个时间段的差and时间截取到时分

时间:2017-11-24 21:28:19      阅读:265      评论:0      收藏:0      [点我收藏+]

标签:cas   and   pre   convert   ast   serve   时间段   精确   方法   

/*--------------------------时间截取到时分-----------------------------------*/

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  

 

SQL Server 两个时间段的差and时间截取到时分

标签:cas   and   pre   convert   ast   serve   时间段   精确   方法   

原文地址:http://www.cnblogs.com/huyadan/p/7892169.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!