Berechnen Sie die SUMME der Spalte die Zeit hat Datentyp:
Möchte ich berechnen Sie die Summe der Feld-Zeit-Datentyp.
Meine Tabelle ist Unter:
TableA:
TotalTime
-------------
12:18:00
12:18:00
Hier möchte ich die Summe der beiden Felder.
Ich habe versucht, die folgenden Abfrage
SELECT CAST(
DATEADD(MS, SUM(DATEDIFF(MS, '00:00:00.000',
CONVERT(TIME, TotalTime))), '00:00:00.000'
) AS TOTALTIME)
FROM [TableA]
Aber es gibt die Ausgabe als
TOTALTIME
-----------------
00:36:00.0000000
Aber Meine Gewünschte Ausgabe würde wie folgt Aussehen:
TOTALTIME
-----------------
24:36:00
Wie man diese Ausgabe?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Könnte man die Summe der Gesamtanzahl der Sekunden, oder
datediff(second,0,datecolumn)
. Sie können das format, die als Uhrzeit-Zeichenfolge mit etwas Mathe. Zum Beispiel, die Gesamtzahl der Minuten isttotalseconds /60 % 60
. Zum Beispiel:Funktionierenden code in SQL Fiddle.
cast('0' + ...
ich verwendet, um ein Präfix0
hat nicht funktioniert. Fixiert wird die Antwort mitright('0' + ...
jetzt.24:36 ist die gleiche wie 00:36(Nächster Tag)
Ihre Abfrage ist in Ordnung, die Ergebnisse sind richtig,
24:36 die Uhrzeit ist 00:36 für den nächsten Tag.
Können Sie die Anzeige von maximal 24 Stunden. Sie sind nicht mit jedem Tag das ist, warum jeder 24 Uhr =0 Uhr für den nächsten Tag.
Ändern Sie einfach die Werte in der Spalte, und Sie können sehen, dass.
Wäre es ein bisschen langatmig, aber wenn man vermeiden wollte das rollover-Tag, aber man könnte split das zweite MAL in der konstituierenden datepart()'s und dann fügen Sie diese auf? (auch die Anzeige als varchar, wenn es nötig ist, eine Stunde Wert größer als 24.
VERSUCHEN.