Christian: MySql Zeitraum anzeigen

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

  1. 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 =:-)

  2. 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 =:-)

    1. Servus Norbert,

      Danke vielmals! Ich glaube, dass ist es (so einfach wär's gewesen).

      schöne Grüße
      Christian

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

    --
    ss:) zu:) ls:[ fo:} de:] va:) ch:] sh:) n4:# rl:| br:< js:| ie:( fl:( mo:|