当前位置: 代码迷 >> Sql Server >> 怎样得到两个时间的差,该怎么解决
  详细解决方案

怎样得到两个时间的差,该怎么解决

热度:86   发布时间:2016-04-24 10:21:13.0
怎样得到两个时间的差
有两个字段,一个开始时间,一个结束时间;开始时间不能大约结束时间。
求破!
------解决方案--------------------
啥意思???
------解决方案--------------------
datediff函数可以计算时间差,你可以通过这个函数返回的是正数还是负数确定是否结束时间大于起始时间
------解决方案--------------------
select  datediff(yy,开始时间,结束时间)

mm的话是月 
day的话是天
hh小时
mi 分钟
ss秒
------解决方案--------------------
时间差就是datediff,但是时间差太广泛了,是要算秒级差异还是天、小时、分钟等等?
------解决方案--------------------
datediff(M,开始时间,结束时间)
这是得到时间差,M以月为单位,dd是以天为单位,依此类推,不知道你想要的是什么结果
------解决方案--------------------
只要开始时间,结束时间都是datetime類型,可以直接相減,就得到兩者的時間差,
E.g.


use tempdb
go
declare @StartTime datetime=getdate()
waitfor delay '00:00:06' --延時6秒
declare @EndTime datetime=getdate()

select @EndTime - @StartTime

/*

-----------------------
1900-01-01 00:00:06.000

(1 row(s) affected)

*/
go




------解决方案--------------------
引用
use tempdb
go
declare @StartTime datetime=getdate()
waitfor delay '00:00:06' --延時6秒
declare @EndTime datetime=getdate()
 
select @EndTime - @StartTime

这是12以上版本么?没见过这么赋值啊。
  相关解决方案