MySQL Forums
Forum List  »  German

Zeitraum über zwei oder mehr Tage
Posted by: Christian Lorei
Date: November 13, 2011 05:20PM

Hallo zusammen,
ich habe eine Tabelle "history" die unter anderem eine Spalte "stamp" vom Type DATETIME hat. Jetzt will ich Drei Zeiträume erfassen/betrachten:
Frühschicht: von 06:00 bis 13:00 Uhr
Spätschicht: von 13:00 bis 22:00 Uhr
Nachtschicht: von 22:00 bis 06:00 Uhr am nächsten Tag.

Wenn ich jetzt die Informationen für die Früh und Spätschicht für einen Tag oder für einen Zeitraum ermitteln will, dann ist das kein Problem. Aber wie mach ich das mit der Spätschicht am Geschicktesten?
Da ich ja den Zeitraum für die Nachtschicht von TAG1 22Uhr bis TAG2 06:00Uhr betrachten muss, bzw. Die Zeiträume für Tag 1 (22Uhr bis 06Uhr am Tag2) Tag 2(22Uhr bis 06Uhr am TAG3) und Tag x (22Uhr bis 06Uhr am Tag X +1)

Meine Query:

SELECT * FROM `history` WHERE
DATE(`stamp`) BETWEEN STR_TO_DATE('01.11.2011','%d.%m.%Y') AND STR_TO_DATE('30.11.2011','%d.%m.%Y')
AND
TIME(`stamp`)BETWEEN STR_TO_DATE('22:00:00','%H:%i:%s') AND STR_TO_DATE('06:00:00','%H:%i:%s')

Ich weiss das es so nicht geht bzw. die Query nicht korrekt ist für die Nachtschicht. aber halt für die anderen geht es, wenn man die Zeit anpasst.

Hat jemand einen Tip für mich wie man das lösen kann für die Nachtschicht, oder muss ich noch eine Spalte einfügen in der ich abhängig von der Zeit dann einen Wert jeweils für Früh- Spät und Nachtschicht eintrage, dann bliebe mir aber noch das Problem mit dem Datum. Da ich ja für die Nachtschicht dann zwei Daten (1TAG u. 2TAG)betrachten muss.

Ich habe da zwar ein paar "verrückte" Ideen wie man es lösen könnte, aber das muss/kann man bestimmt schöner lösen.

Schon mal vielen Dank

Gruß Christian

Options: ReplyQuote


Subject
Views
Written By
Posted
Zeitraum über zwei oder mehr Tage
2540
November 13, 2011 05:20PM
1182
November 14, 2011 07:04AM
1460
November 14, 2011 02:50PM
1151
November 14, 2011 06:26PM
1493
November 16, 2011 04:11AM


Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.