我的表中有兩個字段,Cycle和Idle,都是nvarchar(50),都包含時間。我試圖根據使用TSQL的特定程序編號獲得每個字段的總數。以下是數據的一個小例子。Cast在一個字段上工作,但不是其他
Id ProgramNo Cycle Idle
209702 3998_BOTH_OPPS.MPF 00:02:41 00:00:25
209703 472_7580_OPP1.MPF 00:02:08 00:01:44
209704 3998_BOTH_OPPS.MPF 00:00:27 00:00:11
209705 3998_BOTH_OPPS.MPF 00:00:00 00:00:00
209706 3998_BOTH_OPPS.MPF 00:00:01 00:01:40
209707 9491_OPP1.MPF 00:00:00 00:00:00
209708 9491_OPP1.MPF 00:00:01 00:00:04
209709 9491_OPP1.MPF 00:01:05 00:00:19
因此,例如,獲得ProgramNo 3998_BOTH_OPPS.MPF總週期時間和空閒時間和9491_OPP1.MPF
這是我的查詢......
SELECT
ProgramNo,
cast(dateadd(MILLISECOND, sum(datediff(MILLISECOND, 0, cast(Cycle AS DATETIME))), 0) AS TIME) AS CycleTime,
cast(dateadd(MILLISECOND, sum(datediff(MILLISECOND, 0, cast(Idle AS DATETIME))), 0) AS TIME) AS IdleTime
FROM Cycle
GROUP BY ProgramNo
它工作得很好對於CycleTime,但IdleTime發生錯誤:
「轉換日期和/或時間從字符串轉換失敗「。
有什麼建議嗎?先謝謝你。
這意味着你有一些不好的數據在該領域的記錄。一些不能轉換的東西。 – HLGEM