michel gelin: date_format problemchen

Hallo zusammen,

habe ein kleines Problem bei einer Abfrage mit Datum, leider Blick ich nicht durch:

Datenbank "daten", mit Table "daten" und Feld "tag" (YYYY-MM-DD, Typ date).
Darin möchte ich das Datum aussuchen, welches am nächsten (zukünftig) beim jetzigen liegt.

MySQL [Version]:
4.0.20

SELECT daten.tag
FROM daten
ORDER BY daten.tag ASC
LIMIT 1

--> Diese Abfrage gibt mir nun mal den Richtigen Datenensatz

nun möchte ich das ganze noch formatiert mitausgeben:

SELECT daten.tag
FROM daten
ORDER BY daten.tag ASC , DATE_FORMAT( tag, '%d.%m.%Y' ) AS daten.test
LIMIT 1

--> Das klappt aber so nicht :-(

Kann mir ev. jemand von Euch einen Tipp geben, leider habe ich mit Datumsfunktionen nicht sehr viel Erfahrung.

Lieber Gruss,
Michel

  1. yo,

    SELECT daten.tag
    FROM daten
    ORDER BY daten.tag ASC , DATE_FORMAT( tag, '%d.%m.%Y' ) AS daten.test
    LIMIT 1

    --> Das klappt aber so nicht :-(

    kann auch nicht, da die ausgabe der spalten immer nach dem SELECT
    kommt und nicht in der ORDER BY klausel, sprich:

    SELECT daten.tag, DATE_FORMAT(tag, '%d.%m.%Y') AS daten.test
    FROM daten
    ORDER BY daten.tag
    LIMIT 1

    Ilja

    1. Hallo Ilja,

      Danke erstmal!

      SELECT daten.tag, DATE_FORMAT(tag, '%d.%m.%Y') AS daten.test
      FROM daten
      ORDER BY daten.tag
      LIMIT 1

      leider geht das nicht :-(

      #1064 - You have an error in your SQL syntax.  Check the manual that corresponds to your MySQL server version for the right syntax to use near '.test
      FROM daten
      ORDER BY daten.tag
      LIMIT 1' at line 1

      1. yo,

        SELECT daten.tag, DATE_FORMAT(tag, '%d.%m.%Y') AS daten.test
        FROM daten
        ORDER BY daten.tag
        LIMIT 1

        leider geht das nicht :-(

        dann mach den alias namen richtig. habe selbst nicht darauf geachtet und einfach kopiert.

        SELECT daten.tag, DATE_FORMAT(tag, '%d.%m.%Y') AS test
        FROM daten
        ORDER BY daten.tag
        LIMIT 1

        Ilja