samstung: Abfrage nach Datum

Hallo.
Ich habe in meiner Datenbank (MySQL) eine Reihe 'datum'. Diese ist so angelegt:
``datum timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

Auf meiner Website geben die Nutzer ein Datum (z.B. 05.03.2014) ein. Jetzt möchte ich, dass alle Einträge in der Datenbank ausgelesen werden, bei denen im Feld 'datum' dieses Datum gespeichert ist.

Ein
SELECT * FROM aktionen WHERE datum = '05.03.2014'
bringt keine Ergebnisse.

Wie lautet die richtige Abfrage?

  1. Hi,

    Ich habe in meiner Datenbank (MySQL) eine Reihe 'datum'. Diese ist so angelegt:
    ``datum timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

    Und wie sehen die Daten aus, die in diesen Spalte drin stehen, wenn du sie mit SELECT ausliest …?

    MfG ChrisB

    --
    Autocomplete has spoiled me to a point where it happens every so often that I encounter a CAPTCHA, and I just type in the first character … and then wait for the rest of the code to be automatically suggested :/
    1. Lieber ChrisB,

      Und wie sehen die Daten aus, die in diesen Spalte drin stehen, wenn du sie mit SELECT ausliest …?

      ein Timestamp sieht eben nicht aus wie "05.04.2014"...

      Liebe Grüße,

      Felix Riesterer.

      --
      ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:)
      1. ein Timestamp sieht eben nicht aus wie "05.04.2014"...

        Ich habe es jetzt auch so probiert:

        $date = explode(".",$datum);  
        $zeit1 = mktime(0, 0, 0, $date[1], $date[0], $date[2]);  
        $zeit2 = mktime(23, 59, 59, $date[1], $date[0], $date[2]);  
          
        $abfrage = "SELECT * FROM aktionen WHERE datum <= '$zeit2' AND datum >= '$zeit1'";  
        
        

        Aber auch hier kommt kein Ergebnis...

        1. Hi,

          ein Timestamp sieht eben nicht aus wie "05.04.2014"...
          Ich habe es jetzt auch so probiert:

          Jetzt probierst du bitte erst mal, die Frage die ich dir gestellt habe zu beantworten.

          MfG ChrisB

          --
          Autocomplete has spoiled me to a point where it happens every so often that I encounter a CAPTCHA, and I just type in the first character … and then wait for the rest of the code to be automatically suggested :/
    2. Und wie sehen die Daten aus, die in diesen Spalte drin stehen, wenn du sie mit SELECT ausliest …?

      Hier ein Eintrag aus der Datenbank:
      [code lang=sql]
      (1, '2014-03-05 11:09:08', '2', 'TEST', 'ERROR')
      [/sql]

      1. Hallo

        Und wie sehen die Daten aus, die in diesen Spalte drin stehen, wenn du sie mit SELECT ausliest …?

        Hier ein Eintrag aus der Datenbank:

        (1, '2014-03-05 11:09:08', '2', 'TEST', 'ERROR')
        [/sql]

        Aha; [code lang=sql]'05.03.2014' != '2014-03-05 11:09:08'

          
        Tschö, Auge  
        
        -- 
        Verschiedene Glocken läuteten in der Stadt, und jede von ihnen vertrat eine ganz persönliche Meinung darüber, wann es Mitternacht war.  
        Terry Pratchett, "Wachen! Wachen!"  
          
        ie:{ fl:| br:> va:) ls:[ fo:) rl:( ss:| de:> js:| zu:}  
          
        [Veranstaltungsdatenbank Vdb 0.3](http://termindbase.auge8472.de/)
        
        1. und der Datenbankeintrag auf das Datum beschränkt werden.

          Auf das Datum beschränken geht nicht, da ich an einer anderen Stelle der Website auch die Uhrzeit brauche. Kann ich Platzhalter wie '?' verwenden?

          1. Hallo

            und der Datenbankeintrag auf das Datum beschränkt werden.

            Auf das Datum beschränken geht nicht, da ich an einer anderen Stelle der Website auch die Uhrzeit brauche. Kann ich Platzhalter wie '?' verwenden?

            Nee, da redest du an mir vorbei. Dein Query:

            SELECT * FROM aktionen WHERE datum = '05.03.2014'

            Du kannst dir im Ergebnis Uhrzeiten noch und nöcher anzeigen lassen. Dein Suchbegriff ist aber allein das Datum oder sieht die Abfrage anders aus als hier dargestellt?

            SELECT  
            DATEFORMAT(datum, "%d.%m.%Y") AS datum_de, -- Datum mit deutscher Formatierung  
            DATEFORMAT(datum, "%H:%i") AS noch, -- Uhrzeit mit Stunden, Minuten (inkl. führende Nullen)  
            DATEFORMAT(datum, "%H:%i:%s") AS noecher -- Uhrzeit mit Stunden, Minuten und Sekunden (inkl. führende Nullen)  
            FROM aktionen WHERE DATE(datum) = '2014-03-05'
            

            … findet jedenfalls alle Datensätze mit Datum vom 05.03.2014 unde liefert drei unterschiedlich formatierte Ausgaben von Teilen des Feldes Datum.

            Tschö, Auge

            --
            Verschiedene Glocken läuteten in der Stadt, und jede von ihnen vertrat eine ganz persönliche Meinung darüber, wann es Mitternacht war.
            Terry Pratchett, "Wachen! Wachen!"
            ie:{ fl:| br:> va:) ls:[ fo:) rl:( ss:| de:> js:| zu:}
            Veranstaltungsdatenbank Vdb 0.3
            1. Ich hatte es mittlerweile so gelöst:

              $date = explode(".",$datum);  
              $datum2 = $date[2] . "-" . $date[1] . "-" . $date[0] . " %:%:%";  
                
              $abfrage = "SELECT * FROM aktionen WHERE datum LIKE '$datum2'";
              

              Das funktioniert auch. Ich hab nur gedacht, das da irgendwie ein Timestamp gespeichert ist und ich das Datum in allen möglichen Formaten abfragen kann...

              Aber trotzdem:
              Danke für deine Hilfe!

              1. Hi,

                Ich hab nur gedacht, das da irgendwie ein Timestamp gespeichert ist und ich das Datum in allen möglichen Formaten abfragen kann...

                Natürlich kannst du es in „allen möglichen” Formaten abfragen (bis hin zu bspw. so absurden Sachen wie: alle Einträge selektieren, deren englischer Wochentagname ein „o” enthält) – nur musste du es für einen sinnvollen Vergleich dann erst mal in dieses Format *bringen*.

                MfG ChrisB

                --
                Autocomplete has spoiled me to a point where it happens every so often that I encounter a CAPTCHA, and I just type in the first character … and then wait for the rest of the code to be automatically suggested :/