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  

 

转载于:https://www.cnblogs.com/huyadan/p/7892169.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值