Sql 两个datetime2列的总和时间?
我有一个表,其中有两列Sql 两个datetime2列的总和时间?,sql,sql-server-2012,Sql,Sql Server 2012,我有一个表,其中有两列datetime2,我想将它从callstartdt添加到callenddt所花费的时间 我试过这样的东西 select DATEADD(minute, callstartdt,callenddt) as summing from Detail where SeqNum =87 但我总是会犯这样的错误 参数数据类型datetime2对于dateadd函数的参数2无效 我在这里创建了一个小示例: create table detail (startdt datetime2,
datetime2
,我想将它从callstartdt
添加到callenddt
所花费的时间
我试过这样的东西
select DATEADD(minute, callstartdt,callenddt) as summing
from Detail
where SeqNum =87
但我总是会犯这样的错误
参数数据类型datetime2对于dateadd函数的参数2无效
我在这里创建了一个小示例:
create table detail (startdt datetime2, enddt datetime2)
insert into detail values
('2014-12-26 07:51:04.513','2014-12-26 07:52:38.400'),
('2014-12-26 07:57:13.877','2014-12-26 08:06:48.978');
我怎样才能得到它所用的时间(分或秒)
我正在使用SQL Server 2012。支持Giorgos Betsos的评论。您可以使用类似的方法获取两个日期之间的时间
DATEDIFF([DatePart]、[date1]、[date2])
。因此,为了获得两次约会之间的秒数,你可以这样做
declare @startdate datetime
declare @enddate datetime
set @startdate = '04/04/2014'
set @enddate = '06/04/2014'
select datediff(second, @startdate, @enddate)
DATEADD
可以将几分钟(或小时)作为数值添加到现有日期-您不能“添加”两个日期。。。这到底意味着什么???您可以使用DATEADD(分钟,60,callstartdt)
或类似的方法。您希望添加两个日期的结果是什么?您可以使用DATEPART
从日期中获取一些特定项,以便在计算中使用,但您真正想要的可能是减法?然后你可以看看DATEDIFF
:DATEDIFF(s,startdt,enddt)
。。似乎在我发布了一个问题后,我终于弄明白了…谢谢