Zum Inhalt springen

SQL Zeit Between BeginnDate und EndDate


julia4

Empfohlene Beiträge

Ich habe eine Datenbank mit BeginnDate und EndDate.

Nun möchte ich von einem bestimmten Tag alle Daten, jede Stunde herausfiltern.

wenn BeginnDate und Enddate über mehrere Stunden gehen, dann werden die

Daten mehrfach ausgelesen.

Und ich habe mir das so gedacht, dass ich sage, wenn "between BeginnDate and EndDate"

< Unixtimestamp dann...

Leider verstehe ich das nicht oder stehe ich auf dem Schlauch. Muss ich dann sowas machen wie

Select * from Table

where BeginDate between BeginnDate and EndDate < 1417132800

and EndDate between BeginnDate and EndDate < 1417132800

Würde mir bitte jemand von euch auf die Sprünge helfen?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo julia4!

Ich verstehe ehrlich gesagt nicht so ganz, was du machen willst.

[table=width: 500, class: grid, align: left]

[tr]

[td]ID[/td]

[td]Wert[/td]

[td]DateBegin[/td]

[td]DateEnd[/td]

[/tr]

[tr]

[td]1[/td]

[td]Hallo[/td]

[td]01.02.2015[/td]

[td]05.02.2015[/td]

[/tr]

[tr]

[td]2[/td]

[td]Welt[/td]

[td]02.02.2015[/td]

[td]06.02.2015[/td]

[/tr]

[tr]

[td]3[/td]

[td]foo[/td]

[td]03.02.2015[/td]

[td]07.02.2015[/td]

[/tr]

[tr]

[td]...[/td]

[td]...[/td]

[td]...[/td]

[td]...[/td]

[/tr]

[/table]

Und mit deiner Abfrage willst du jetzt

"Gib mir alle Datensätze, für die zutrifft, dass @EingabeDatum zwischen [DateBegin] und [DateEnd] liegt."

bezwecken?

Wie viele Datensätze schreibst du denn da rein? Bzw. in welchem Intervall.

Treffe ich mit der Vermutung deine Intention oder geht das völlig an deiner Anforderung vorbei?

Gruß, Goulasz

Link zu diesem Kommentar
Auf anderen Seiten teilen

Doch du triffst es schon.

Also ich will aus einer Bestehenden DB eine Statistik erzeugen.

Dort sollen Anrufe gezählt werden. Und das für jede Stunde des Tages.

Und dann will ich wissen wieviele Anrufe in dieser Stunde stattgefunden haben.

Wenn sich dieser anruf über mehrere Stunden erstecken sollte, dann soll er sowohl

in der einen Stunde als auch in der anderen gezählt werden.

Also will ich die DB fragen: Gib mir alle Datensätze deren Zeitstempel zwischen Beginn und Ende

< timestamp ist.

Ich kann leider nicht sagen, gib mir nur den BeginDate, denn es könnte sein, dass ein Anruf theoretisch

über mehrere Stunden geht. Deshalb brauche ich auch die zwischenräume.

Ich hoffe ich konnte mich einigermaßen verständlich ausdrücken.

Link zu diesem Kommentar
Auf anderen Seiten teilen

... where 1417132800 between BeginnDate and EndDate

Wenn die Typen direkt vergleichbar sind.

Ja den Ansatz verstehe ich, aber ich will ja wissen, ob ein Zeitraum (bei mir eine Stunde) sich zwischen BeginnDate und

EndDate befindet.

Also nehmen wir an zwischen 00:01 Uhr und 01:00 kamen 20 Anrufe rein. Dann -frage an die Tabelle1- gib mir die aus die zwischen

BeginnDate und EndDate angerufen haben.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Also nehmen wir an zwischen 00:01 Uhr und 01:00 kamen 20 Anrufe rein. Dann -frage an die Tabelle1- gib mir die aus die zwischen

BeginnDate und EndDate angerufen haben.

Und welche Anrufe soll die Abfrage jetzt liefern?

- Die, die vor 00:01 angefangen und nach 1:00 aufgehört haben

- Die, die nach 00:01 angefangen und nach 1:00 aufgehört haben

- Die, die vor 00:01 angefangen und vor 1:00 aufgehört haben

- Die, die nach 00:01 angefangen und vor 1:00 aufgehört haben

- Die, die zwischen 00:01 und 1:00 angefangen haben

- Die, die zwischen 00:01 und 1:00 aufgehört haben

- Die, die zwischen 00:01 und 1:00 angefangen oder aufgehört haben und mindestens 1 Stunde gedauert haben

Link zu diesem Kommentar
Auf anderen Seiten teilen

Denke nicht dass das funktioniert. Weil ich spätestens im nächsten zeitstempel bei t1 und t2 dann auch alle

BeginnDate drin hab die in t0 sind.

Aber nur, wenn EndDate nach t1 liegt. Und dann ist das ja auch gewünscht.

Beachte, dass BeginnDate mit dem Ende des zu prüfenden Zeitraums verglichen wird, und EndDate mit dem Anfang.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...