Sql server 2005 SQLServer2005日期时间数学

Sql server 2005 SQLServer2005日期时间数学,sql-server-2005,tsql,datetime,Sql Server 2005,Tsql,Datetime,我想知道花在某件事情上的时间。我在两列中列出了事情开始和结束的日期时间。我可以做到: cnext.CreatedDate - c.CreatedDate 其结果如下: 1900-01-01 00:00:19.190 也就是说他们花了19.19秒在这个东西上。这对每一行都很好,但我想按具体的事情分组,并总结在每件事情上花费的时间: SUM(cnext.CreatedDate - c.CreatedDate) 但我得到一个: Operand data type datetime is in

我想知道花在某件事情上的时间。我在两列中列出了事情开始和结束的日期时间。我可以做到:

 cnext.CreatedDate - c.CreatedDate
其结果如下:

 1900-01-01 00:00:19.190
也就是说他们花了19.19秒在这个东西上。这对每一行都很好,但我想按具体的事情分组,并总结在每件事情上花费的时间:

SUM(cnext.CreatedDate - c.CreatedDate)
但我得到一个:

Operand data type datetime is invalid for sum operator.

我应该如何获取总时间?我不能对日期时间类型求和?

您不能对日期时间值求和。这就像是取字符串的平方根

尝试:

或者,如果您想要更高的精度:

SUM(DATEDIFF(MILLISECOND, c.CreatedDate, cnext.CreatedDate))

如果日期药剂为1/1/1900,则将日期转换为浮点数,减去浮点数,然后将结果转换回日期时间。

+1。海报上的事实表明他没有日期部分?
SUM(DATEDIFF(MILLISECOND, c.CreatedDate, cnext.CreatedDate))