Ich habe eine Datenbank, in der die Zeit als NVARCHAR(14)
gespeichert ist. Ein Beispiel dafür, was ich sehe, wenn ich die Zeit eines bestimmten Benutzers abfrage, ist 00:08:45.68.
Was ich tun möchte, ist diesen Wert von 0 Stunden, 8 Minuten, 45 Sekunden und 68 Millisekunden in einen Wert von 526 Sekunden umwandeln. Größer oder gleich 50 Millisekunden wird aufgerundet.
Ich habe auch gespeicherte Werte, bei denen keine Millisekunden erfasst wurden, z.B. 98:40:12. Es gibt viele Datensätze, in denen mehr als 24 Stunden Zeit gespeichert sind, sowohl mit Millisekunden (97:18:59.32) als auch ohne (98:40:12).
Ich sehe viele Abfragen, um Sekunden in HH:MM:SS.MS
umzuwandeln, aber keine für den umgekehrten Weg. Ich sehe auch viele Abfragen, die Datumsangaben enthalten, aber ich habe kein Datum mit der Zeit gespeichert.
Hoffentlich bin ich klar genug.
Ich habe folgendes versucht:
(DATEPART(hh, trntime.time1) * 60 * 60) + (DATEPART(MI, trntime.time1) * 60) + DATEPART(s, trntime.time1) AS 'Calc_time1_Secs'
aber ich erhalte folgende Fehlermeldung:
Msg 241, Stufe 16, Zustand 1, Zeile 4
Conversion failed when converting date and/or time from character string.