MySql Zeitraum anzeigen
Christian
- datenbank
wer kann helfen?
habe in einer mysqltabelle unter anderem ein datumsfeld und ein zeitfeld;
ich möchte nun alle einträge zwischen dem z.B. 2003-05-01 13:00:00 und dem 2003-05-09 12:00:00 angezeigt bekommen; wie geht das ?
danke für eure hilfe
Christian
Hallo Christian!
Ich würde dir empfehlen, diese beiden Spalten durch eine DATETIME zu ersetzen - sonst musst du ewig Datum UND Uhrzeit kombinieren :-(
mfg
norbert =:-)
Hallo Christian!
Nachdem Du dich nicht mehr meldest, nehme ich an, Du wartest noch auf neue Antworten. Wenn Du also nicht die DB umstricken möchtest, dann versuch folgendes (Datums- und Zeitangaben eventuell anpassen - hab die Formate grad nicht im Kopf):
select * from tabelle
where (datefield = '2003-05-01' and timefield >= '13:00:00')
or (datefield >= '2003-05-02' and datefield <= '2003-05-08')
or (datefield = '2003-05-09' and timefield <= '12:00:00');
mfg
norbert =:-)
Servus Norbert,
Danke vielmals! Ich glaube, dass ist es (so einfach wär's gewesen).
schöne Grüße
Christian
Moin!
habe in einer mysqltabelle unter anderem ein datumsfeld und ein zeitfeld;
ich möchte nun alle einträge zwischen dem z.B. 2003-05-01 13:00:00 und dem 2003-05-09 12:00:00 angezeigt bekommen; wie geht das ?
Wie norbert schon gesagt hat, ist ein DATETIME-Feld genau das richtige für dich, weil es zusammenfaßt, was zusammengehört, nämlich einen Zeitpunkt, bestehend aus Tagesdatum und Tageszeit.
Dann werden auch die MySQL-Abfragen leichter:
SELECT irgendwas FROM tabelle WHERE zeitpunkt BETWEEN '2003-05-01 13:00:00' AND '2003-05-09 12:00:00'
Außerdem kann man mit DATETIME-Feldern und den Zeiten darin ganz prima schon in MySQL rechnen, wenn es sein muß.
- Sven Rautenberg