Wie addieren und subtrahieren Stunden in SQL Server 2005?
Möchte ich hinzufügen, format 24 Stunden, dann ergäbe sich entweder 24h-format oder 12-Stunden-format wie pro meine Bedingung, die ich verwenden zwei Funktionen
Dies ist mein Beispiel
hinzufügen ('08:05'+'02:00') Ergebnis ist 10:05
nun wieder ich konvertieren wollen dem obigen Ergebnis in 12-Stunden-format, so wie pro mein Ergebnis wäre es 10:05 UHR oder 10:05
Sie müssen in der sehr vorsichtig hier. Es gibt nur einen Datentyp im Jahr 2005 zur Unterstützung von datetime-Werten und das ist
datetime
. Auch auf 2008, wo datetime2
und time
vorhanden - in allen 3 Fällen, die time
ist ein time of day, nicht Zeit. Das sind eigentlich zwei unterschiedliche Konzepte. Hinzufügen von zwei Zeiten zusammen macht nicht viel Sinn, und du wirst auf Probleme stoßen, wenn Sie überlauf 24 Stunden. Es wäre besser, zu arbeiten, in einer Sprache (z.B. C#) , hat erstklassige Unterstützung für einen TimeSpan
geben.InformationsquelleAutor user2477936 | 2013-06-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie die
DateAdd
Funktion, um dies zu tun, z.B.Dateadd(hour,2, @yourTime)
.Um das Ergebnis anzuzeigen, können Sie die
convert
Funktion. Dieconvert
- Funktion hat viele format-Optionen, so wählen Sie diejenige, die Ihren Bedürfnissen entspricht (ich denke, '0' wäre ok).Beispiel:
Hinweis: Vermeiden Sie die Formatierung in der SQL. Ich würde vorschlagen, entfernen der
convert
Teil und machen Sie die Formatierung in Ihrer Anwendung (report engine, excel oder was auch immer).wo ist der Unterschied? Ich will hinzufügen, ein Beispiel.
InformationsquelleAutor alzaimar
Überprüfen und sehen, ob die Zeit ist 12-Stunden-oder 24-Stunden-verwenden Sie die CONVERT-Funktion eine varchar-so:
24 Std.
ODER 12 hr
IN dem Fall, wo Sie möchten, fügen Sie zwei DateTime -
Hinzugefügt haben Sie im edit oben, um zu zeigen, wie hinzufügen, 10:05 + 02:10
InformationsquelleAutor Robbie Tapping