Zum Inhalt springen

SQL Zeit Between BeginnDate und EndDate


Empfohlene Beiträge

Geschrieben

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?

Geschrieben

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

Geschrieben

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.

Geschrieben
... 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.

Geschrieben

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

Geschrieben
Ich vermute folgendes:

Du möchtest die Datensätze, die

zwischen 00:01 und 01:00 angefangen

ODER

zwischen 00:01 und 01:00 aufgehört

ODER

vor 00:01 angefangen UND nach 01:00 aufgehört haben

Ja genau!

Geschrieben

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. Ausserdem kann das EndDate doch auch in t0 liegen

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...