Zeige mir alle daten, die älter sind als 7 Tage?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Zeige mir alle daten, die älter sind als 7 Tage?

    Hi,
    die folgende Abfrage zeigt mir alle daten, die älter sind als 7 Tage:

    Code:
    $query = " SELECT id, DATE_FORMAT(created, '%d.%m.%Y') AS timestamp, Name
    	FROM table_kunden
    	WHERE `timestamp` BETWEEN DATE_SUB( CURDATE( ) ,INTERVAL 7 DAY ) AND CURDATE( );"
    Das klappt, weil die Spalte "timestamp" ein Timestamp mit der Dateitype "data" is.

    Nun zu meiner Frage:


    Ich darf nicht die Spalte "timestamp" für meine Abfrage benutzen, sondern muss ich eine Spalte nehmen, die seine Daten aus einem Dateipicker einer Formular bekommt. (Die Benutzer wählen selbst welches Datum in die Datenbank gespeichert werden soll)
    Das Problem ist aber, dass diese Spalte ( mit dem Namen CD ) den Dateityp "Text" besitzt und nicht "data".
    Die Daten werden also wie folgt in die Spalte gespeichert: 02/04/2010.

    Weil diese Spalte aber den Datentyp "text" hat, klappt auch meine Abfrage nicht mehr. Ich darf auch den Datentype dieser Spalte nicht ändern.

    Wie soll ich jetzt die Daten der letzten 7 Tagen an Hand des Datums in dieser Spalte ermitteln

    Danke
    Zuletzt geändert von bigtail; 07.02.2010, 10:52.

  • #2
    STR_TO_DATE()

    Kommentar


    • #3
      Weil diese Spalte aber den Datentyp "text" hat,
      Datum in text Spalte halten, wozu?
      02/04/2010 <-- doofes Format.
      Wir werden alle sterben

      Kommentar


      • #4
        Danke.
        Ich werde es gleich testen.
        Zuletzt geändert von bigtail; 06.02.2010, 19:09.

        Kommentar


        • #5
          .
          @onemorenerd,

          1000000000000... Dank

          Ich habe es damit hingekriegt.

          Kommentar


          • #6
            Zitat von bigtail Beitrag anzeigen
            Die Daten werden also wie folgt in die Spalte gespeichert: 02/04/2010
            Vollkommen falsch. Warum ein Textfeld mit einem eigenen komischen Format, wenn die Datenbank einen eigenen Datentyp für Datum bietet?

            Kommentar


            • #7
              Vollkommen falsch. Warum ein Textfeld mit einem eigenen komischen Format, wenn die Datenbank einen eigenen Datentyp für Datum bietet?
              Ich habe doch geschrieben dass:
              Ich darf auch den Datentype dieser Spalte nicht ändern.
              Also ich muss für eine bestehende Datenbank, die ich auch nichts daran ändern darf diese Abfrage schreiben.
              Sonst bin ich vollkommen deiner Meinung. Datum als Text in die Datebnak zu speichern ist bestimmt keine gute Idee.

              Da fällt mir aber eine algemeine Frage:
              Ist das nicht so, dass die Daten aus einem Dateipicker immer als Text in eine Datebnak gespeichert werden??

              Kommentar


              • #8
                Zitat von bigtail Beitrag anzeigen
                Ist das nicht so, dass die Daten aus einem Dateipicker immer als Text in eine Datebnak gespeichert werden??
                Jein. In der Abfrage wird das Datum zwar als String (oder Integer) übergeben, folgt dabei aber streng dem Format des jeweiligen DBMS für DATE(TIME)-Spalten, z. B. '2010-02-07' (String) oder 20100207 (Integer).

                Gruß,

                Amica
                [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                Super, danke!
                [/COLOR]

                Kommentar

                Lädt...
                X