2011-09-15 10 views
1

何かに費やされた時間を取得しようとしています。私は2つの列に物事の開始と終了のDateTimeを持っています。私が行うことができます:彼らは事で19.19秒を費やし意味SQL Server 2005 DateTime数学

1900-01-01 00:00:19.190 

を:このような何かになり

cnext.CreatedDate - c.CreatedDate 

を。つまり、各列のために素晴らしいことだが、私は具体的な事でグループに好きで、各事に費やされた時間を合計します:

SUM(cnext.CreatedDate - c.CreatedDate) 

が、私は得る:

私は得ることについて行けばどう
Operand data type datetime is invalid for sum operator. 

合計時間は、私はDateTime型を要約できないのですか?

答えて

3

日時の値をSUMにすることはできません。これは、文字列の平方根を取るようなものです。

試してみてください。

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

それとも、より高い精度が必要な場合:

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

+1。ポスターは、日付部分がないことを示唆しているようです。 –

0

日付ポーションは1900年1月1日である場合は、それらを引く、山車に日付を変換し、変換結果はdatetimeに戻ります。