Datumsvergleich in Selectanweisung?

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

  • Datumsvergleich in Selectanweisung?

    Hai ,
    Ist wahrscheinlich'ne ziehmlich blöde Frage, aber wie kann ich in einer 'Select Anweisung' das Datum in einer Tabelle ansprechen, welches dem aktuellen Datum am nächsten kommt? Oder noch allgemeiner : Kann mann überhaupt das Datum in einer select ... vergleichen?
    Danke im Vorraus
    Tobias

  • #2
    klar geht das ...
    alle Datensätze von heute:

    $heute = date ('y-m-d');
    $q = mysql_query ("select * from TABELLE where DATUM='$datum'");
    while ($x=mysql_fetch_array ($q)) {
    .....
    }

    alles in der Zukunft: ... where DATUM>'$datum'


    und die Sache mit dem Minimum (dazu brauchst du in MySQL zwei Queries, wenn du's einfach haben willst):

    $heute = date ('y-m-d');
    // absolute Differenz zwischen angegebenem Datum und heute
    $datum = "abs(to_days(DATUM)-to_days('$heute'))";

    // Minimum ermitteln
    $q = mysql_query ("select min($datum) from TABELLE");
    $r = mysql_fetch_row($q);
    $min = $r[0];
    // Datensätze holen
    $q = mysq-query ("select * from TABELLE where $datum=$min;");
    while ($x=mysql_fetch_array ($q)) {
    .....
    }
    mein Sport: mein Frühstück: meine Arbeit:

    Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

    Kommentar


    • #3
      Moin zusammen,

      Titus, du mußt aber auch erwähnen, daß dafür das Feld der DB ein Datumstyp sein muß. Falls es ein Timestamp in einem int-Feld ist, kann man mit

      $heute=time();
      $vergleich=mysql_query("select * from TABELLE where datumsfeld<$heute");

      oder eben >$heute, wenn's in der Zukunft liegen soll. Außerdem kannst du auch leicht Zeiträume selektieren:

      $heute=time();
      $gestern=strtotime("-1 day");
      $zeitraum=mysql_query("select * from TABELLE where datumsfeld between $gestern and $heute");

      holt dir alle Einträge mit einem Datum zwischen jetzt und (jetzt - 1 Tag) sprich gestern.

      Okay, soweit meine Ergänzungen...


      Kommentar


      • #4
        Datumsvergleich in Selectanweisung?

        Hai Jungs,
        das war Super!
        Hat geklappt!
        Es ist übrigens ein Timestamp in einem int-Feld.
        Danke nochmal!
        Gruß Tobias

        Kommentar

        Lädt...
        X