22,209
社区成员
发帖
与我相关
我的任务
分享
declare @starttime as datetime
declare @endtime as datetime
set @starttime = '2008-3-18 17:07:21'
set @endtime = '2008-3-16 17:08:23'
select right('00'+ cast(cast(datediff(ss ,@starttime,@endtime) / 3600 as int) as varchar),2) + ':' +
right('00'+ cast(cast(datediff(ss ,@starttime,@endtime) % 3600 / 60 as int) as varchar),2) + ':' +
right('00'+ cast(cast(datediff(ss ,@starttime,@endtime) % 60 as int) as varchar),2)
/*--------------
47:58:58*/
declare @s datetime
set @s=getdate()
declare @e datetime
set @e='2009-10-18'
select ltrim(datediff(s,@s,@e)/60)+':'+ltrim(datediff(s,@s,@e)%60) --得到的是两个时间相隔的分钟和秒
/*
-------------------------
737:9
*/
--我也来个
select DateDiff(minute,min(rd_time),max(rd_time)) as 断电时长
from
(
select top 1 rd_time from reading where pk_id=2546 and rd_ac='断电' order by rd_id
union all
select top 1 rd_time from reading where pk_id=2546 and rd_ac='断电' order by rd_id desc
) t
--闲着没事:瞎发发
select datediff(mi,getdate()-1,getdate());
select datediff(min,(select top 1 rd_time from reading where pk_id=2546 and rd_ac='断电' order by rd_id),
(select top 1 rd_time from reading where pk_id=2546 and rd_ac='断电' order by rd_id desc)) as '断电时长';
select datediff(mi,m.rd_time,n.rd_time) from
(select top 1 rd_time from reading where pk_id=2546 and rd_ac='断电' order by rd_id ) m,
(select top 1 rd_time from reading where pk_id=2546 and rd_ac='断电' order by rd_id desc )n