Nur Werte vom heutigen Datum

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Nur Werte vom heutigen Datum

    Hallo...
    ich möchte aus meiner Tabelle nur das heutige datum (und alle damit verbundenen datensätze) ausgegeben bekommen...
    Die "datum" Spalte (aus der "bestellung"-tabelle) wird automatisch mit TIMESTAMP + CURRENT_TIMESTAMP eingetragen und im format yyyy-mm-dd hh-mm-ss eingetragen. Ich hab schon folgendes

    Quellcode

    1. SELECT * FROM bestellung WHERE datum = CURDATE();
    ...dabei wird mir nichts ausgegeben.

    Quellcode

    1. SELECT * FROM bestellung WHERE datum = CURDATE()-1;
    ...auch dabei wird nichts ausgegeben.

    Quellcode

    1. SELECT * FROM bestellung WHERE datum < CURDATE();
    ...dabei wird alles was vor heute war ausgegeben (logisch ^^ ).

    Quellcode

    1. SELECT * FROM bestellung WHERE datum > CURDATE();
    ...dabei wird mir alles von heute, aber auch alles was danach ist angegeben, das soll aber nicht so! :( ...wenn ich >= mache ist es das selbe ergebnis.

    (natürlich gibts den restlichen normalen syntax hinterher, um die ausgabe und das query auszuführen. - das ganze passiert übrigends unter MySQL)

    Bitte um ein kleinwenig hilfe, wie ich immer nur das aktuelle datum und die damit verbundenen datensätze bekomme!? :)

    PS: das hier hab ich übrigends schon mal wo anders als antwort bekommen, allerdings bekomm ich dabei einen fehler, und weiss nicht, wie ich das richitg einarbeiten muss, bzw. was ich ändern muss / soll:

    Quellcode

    1. SELECT * FROM bestellung WHERE datum BETWEEN CURDATE() AND DATE_ADD(CURDATE() INTERVAL 1 DAY);

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Scorpion ()

  • Moin,

    du musst MySQL schon zwingen, dass er auf die Uhrzeitinformationen verzichtet. Benutze dazu die Funktion DATE().

    Quellcode

    1. SELECT * FROM bestellung WHERE DATE(datum) = CURDATE();


    MySQL bemüht sich zwar flexibel zu sein... Funktionen, die Datumswerte erwarten, akzeptieren normalerweise auch DATETIME-Werte und ignorieren dabei den Uhrzeitbestandteil.
    Jedoch machen wir einen ganz normalen Vergleich, ohne explizit eine Datumsfunktion anzuwenden.
  • aaaahh danke! :) ......funktioniert perfekt!
    ich hab inzwischen noch ne andere variante gefunden, wie es möglich wäre... (aber aus eigenen überlegungen heraus)
    es ist um einziges komplizierter als deine lösung:

    Quellcode

    1. SELECT CURDATE() as A
    und dann mit PHP das A mit dem aus der Tabelle vergleichen.... und nur diese ausspucken...

    aber: Vielen Dank für die Lösung :)