Ich habe zwei Felder in meiner Tabelle, Cycle und Idle, beide sind Nvarchar (50) und beide enthalten Zeit. Ich versuche, eine Summe für jedes Feld basierend auf einer bestimmten Programmnummer mithilfe von TSQL zu erhalten. Unten ist ein kleines Beispiel für die Daten.Cast funktioniert auf einem Feld, aber nicht
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
So zum Beispiel die Gesamtzykluszeit und Standby-Zeit für ProgramNo 3998_BOTH_OPPS.MPF erhalten und 9491_OPP1.MPF
Diese meine Frage ist ...
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
Es funktioniert gut für CycleTime, aber ich bekomme einen Fehler für IdleTime:
"Konvertierung fehlgeschlagen beim Konvertieren von Datum und/oder Uhrzeit aus Zeichenkette . "
Irgendwelche Vorschläge? Vielen Dank im Voraus.
es bedeutet, dass Sie einige schlechte Daten in den Datensätzen in diesem Feld haben. Etwas, das nicht konvertiert werden kann. – HLGEM