SQL Server 两个时间段的差and时间截取到时分
时间:2021-07-01 10:21:17
帮助过:14人阅读
--------------------------时间截取到时分-----------------------------------*/
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 时间段 精确 方法