Gibt es eine einfache Möglichkeit, dies zu tun? Mit ganz zwischen, ich meine nicht zählen die 7 Uhr oder 7 Uhr Datumsangaben, die gleich der Start- oder Endzeit sind.Zählen Sie die Anzahl von 7 AM oder 7 PM Vorkommen zwischen zwei Datum
Ich kann mir vorstellen, dass dies mit dem Unix-Timestamp in Sekunden und ein bisschen Algebra gemacht werden kann, aber ich kann es nicht herausfinden.
Ich bin glücklich, etwas in PLSQL oder plain SQL zu verwenden.
Beispiele:
start end num_7am_7pm_between_dates
2012-06-16 05:00 2012-06-16 08:00 1
2012-06-16 16:00 2012-06-16 20:00 1
2012-06-16 05:00 2012-06-16 07:00 0
2012-06-16 07:00 2012-06-16 19:00 0
2012-06-16 08:00 2012-06-16 15:00 0
2012-06-16 05:00 2012-06-16 19:01 2
2012-06-16 05:00 2012-06-18 20:00 6
Sieht aus, als ob du in der richtigen Weise bist - du kannst diese Geige benutzen http://www.sqlfiddle.com/#!4/baead/2 –
Danke für die Fiddle. Schau es dir jetzt an. –
ist noch nicht ok. [http://www.sqlfiddle.com/#!4/baead/6](http://www.sqlfiddle.com/#!4/baead/6). Zuerst wird 1 gezählt, wenn beide Stunden kleiner als 7 sind (sollte Null sein) oder beide sind größer als 19. Zweitens, berücksichtigt keine Minuten. Zum Beispiel zählt das 19:01 nicht. –