我在计算两个日期之间的时差时面临一些困难.
我想要的是,我有两个日期可以说
@StartDate = '10/01/2012 08:40:18.000'
@EndDate='10/04/2012 09:52:48.000'
Run Code Online (Sandbox Code Playgroud)
所以两个日期之间的区别hh:mm:ss是72:42:30.
如何在T-SQL查询中获得此结果?
我有这样的查询:
select t.Paydate,t.DelDate,DATEDIFF(MI, t.Paydate,t.DelDate) as Datdiffernce
from Transaction_tbl t
where t.transactID=19
Run Code Online (Sandbox Code Playgroud)
我这样出去了:
Paydate DelDate Datdiffernce
----------------------- ----------------------- ------------
2013-05-07 18:36:50.000 2013-05-07 18:58:32.000 22
Run Code Online (Sandbox Code Playgroud)
Datedifference 我只得到22分钟.
而不是这样我怎么能得到这种格式的日期差异hh:mm:ss?
我想从列第二行的值中减去第一行的值_timestamp(如下所示)。_number是我数据中的排序列。
并将结果放在一个名为diff的新列中。我已经尝试使用以下查询
use dbtest
select t2._number, t2._timestamp,
coalesce(t2._timestamp -
(select t1._timestamp from dbo.tcp t1 where t1._number = t2._number + 1), t2._timestamp) as diff
from dbo.tbl t2
Run Code Online (Sandbox Code Playgroud)
但我收到以下错误。
Msg 8117, Level 16, State 1, Line 4
Operand data type datetime2 is invalid for subtract operator.
Run Code Online (Sandbox Code Playgroud)
任何提示将不胜感激。我的记录非常丰富,我想将其自动应用于整个专栏中。我正在使用SQL Sever 2008。