你的問題是你不能在SQL中總結一個TIME
類型。
取而代之,您可能需要計算花費的時間爲分鐘(或必要時秒)。
嘗試是這樣的:
declare @table table
(
[user] nvarchar(50),
[work] nvarchar(50),
[allocated_time] datetime,
[completed_time] datetime
)
insert @table values ('amit', 'operation', '24-jul-2008 10:35:00PM', '24-jul-2008 11:42:00PM')
insert @table values ('amit', 'research', '24-jul-2008 12:00:00PM', '24-jul-2008 02:42:00PM')
declare @totalminutes int
select @totalminutes = sum([minutes])
from (select DATEDIFF(MINUTE, [allocated_time], [completed_time]) as [minutes] from @table) t
select *,
DATEDIFF(MINUTE, [allocated_time], [completed_time]) as [minutes],
CONVERT(FLOAT, DATEDIFF(MINUTE, [allocated_time], [completed_time]))/@totalminutes as [perc]
from @table
歡迎堆棧溢出!您正在詢問如何編寫查詢,但如果我們不知道您使用的是什麼RDBMS(Oracle,MySQL,SQL Server,PostGreSQL,SQLite ...)以及該RDBMS的版本,則很難回答。它們的SQL實現有所不同,有些功能可以用來提高查詢效率。此外,SQL語法可能會有所不同。對於這個特定的問題,請說明什麼是時間戳列(DATE,TEXT)的類型親和力? – Benoit