SQL Tage in Timestamp berechnen

Abcd12345

Lt. Junior Grade
Registriert
März 2006
Beiträge
483
Guten Morgen :)

Ich möchte gerne die Anzahl an Tagen aus einem TimeStamp herausbekommen. Ich möchte nicht nur die Tage haben, die in dem Monat schon vergangenen sind, also nicht einfach nur Day(MeinTimestamp), sondern auch noch die Monate und Jahre die der Timestamp erhält in Tagen dazurechnen. Also in etwar so:

Day(MeinTimestamp) + MeinTimestamp.MonateInTage + MeinTimestamp.JahreInTage

Ich brauch dies um zwei Timestamps von einander abzuziehen um dann die Differenz in Tagen errechnen zu können.

Über Hilfe wäre ich sehr dankbar :)

Mfg
 
Ich denke DATEDIFF ist das richtige für dich.
 
Danke schon mal, klappt aber leider nicht.

Ich übergebe zwei Timestamps an die Funktion und die Funktion erwartet nur Time oder Datetime Felder..

Datediff(f.DatumMax,f.DatumMin) -> Führt zu einem Fehler..

Auch eine konvertierung in Date funktoniert nicht:

Datediff(Date(f.DatumMax),Date(f.DatumMin)) -> Führt zu einem Fehler..

Ich arbeite auch nicht mit einer MySql-Datenbank sondern mit einer AS400 vllt. liegt da ja das Problem?

Weil ihn stört anscheinend etwas an der Funktion und nicht an den übergebenen Argumenten

Mfg
 
Zuletzt bearbeitet:
Ein Timestamp gibt die Sekunden ab 1.1.1970 an. D.h. wenn du die Differenz von beiden bildest, das Ergebnis durch 86400 (60 s x 60 min x 24 h) teilst und abrundest, hast du die Tage.
 
Danke für die Hilfe ich hab mittlerweile selber eine Lösung gefunden.

Ich finde das ganze geht am leichtesten mit der Funktion days(Timestamp). Ist auch etwas durchschaubarer als die Sekundendifferent im Tage umzurechnen

Bin durch zufall drauf gestossen.

Mfg Abcd
 
Zurück
Oben