Will: Datum sortiert ausgeben

hi,

wie kann ich einträge aus einer mysql-datenbank nach dem datum sortiert ausgeben.

bei jedem eintrag ist ein datum in diesem format: TT-MM
                                                  15.09

wenn ich es versuche zu sortieren, dann wird es als eine dezimal zahl gelesen und wird falsch sortiert.

vielen dank.

  1. Hallo Will!

    wie kann ich einträge aus einer mysql-datenbank nach dem datum sortiert ausgeben.

    bei jedem eintrag ist ein datum in diesem format: TT-MM
                                                      15.09

    Das Format TT-MM wäre vielleicht sinnvoller als TT.MM. Aber beides ist kein vollständiges Datum!
    Auf http://www.mysql.com/doc/en/Date_and_time_types.html kannst du etwas über Datumsangaben in MySQL erfahren.

    wenn ich es versuche zu sortieren, dann wird es als eine dezimal zahl gelesen und wird falsch sortiert.

    Was für einen Feldtyp hast du angegeben?

    MfG
    Götz

    --
    Losung und Lehrtext für Montag, 15. September 2003
    Du bist meine Zuversicht, Herr, mein Gott, meine Hoffnung von meiner Jugend an. (Psalm 71,59)
    Paulus schreibt: Ich bin darin guter Zuversicht, dass der in euch angefangen hat das gute Werk, der wird's auch vollenden bis an den Tag Christi Jesu. (Philipper 1,6)
    (http://www.losungen.de/heute.php3)
    1. ich glaube ich habe den fehler.

      ich habe einen falschen feldtyp angegeben.

  2. Hallo,

    Benutze doch das Datumsformat nach DIN 5008 (erklärt z. B. inhttp://www.duden.de/service/download/textverarbeitung_duden1.pdf).

    Hierbei werden Daten im chronologischer Reihenfolge JJJJ-MM-TT wiedergegeben, also etwa 2003-09-15.

    Programmierern wird es im Allgemeinen nahegelegt, nur noch auf diese Weise zu programmieren, das Format soll ohnehin das alte nationale Format TT.MM.JJJJ ersetzen, in manchen Ländern (Skandinavien, China) ist das schon passiert.

    Grüße
    Heiner

    1. Hallo Heiner!

      Benutze doch das Datumsformat nach DIN 5008 [...]

      Schön für Dich.

      [...] das Format soll ohnehin das alte nationale Format TT.MM.JJJJ ersetzen, in manchen Ländern (Skandinavien, China) ist das schon passiert.

      Fachlich muß ich Dir Recht geben, keine Frage.
      Doch _warum_ mußt du jedesmal den gleichen Müll anhängen?
      Es gab doch in letzter Zeit genügend Threads rund ums Datumsformat, oder?
      (btw ist Skandinavien kein Land)

      MfG
      Götz

      --
      Losung und Lehrtext für Montag, 15. September 2003
      Du bist meine Zuversicht, Herr, mein Gott, meine Hoffnung von meiner Jugend an. (Psalm 71,59)
      Paulus schreibt: Ich bin darin guter Zuversicht, dass der in euch angefangen hat das gute Werk, der wird's auch vollenden bis an den Tag Christi Jesu. (Philipper 1,6)
      (http://www.losungen.de/heute.php3)
    2. @heiner,

      die meldung kenn wahrscheinlich schon jeder.

      wenn alles nach dem datum sortiert wird dann wird das datum auch noch ausgegeben.

      weil ich finde das dieses format ziemlich scheisse aussieht, müsste ich das format wieder durch ein cgi umwandeln damit es mir gefällt.

      und mal angenommen ich habe 100.000 einträge die sortiert werden müssen und dann auch noch für jeden eintrag das datumsformat ändern. das würde um einiges länger dauern.

      1. und mal angenommen ich habe 100.000 einträge die sortiert werden müssen und dann auch noch für jeden eintrag das datumsformat ändern. das würde um einiges länger dauern.

        ... als eine eigene Sortieroutine für dein veraltetes Format zu benutzen?

        Völliger Quatsch, es ist genau umgekehrt, gerade bei der von dir genannten Datenmenge ist es mit Sicherheit schneller und besser die DB-Funktion zum sortieren zu verwenden und die funktioniert bei Datums mit dem neuen Format.

        Struppi.

  3. hi,

    wenn ich es versuche zu sortieren, dann wird es als eine dezimal zahl gelesen und wird falsch sortiert.

    dann ändere den spaltentyp auf einen für datumswerte geeigneten.
    welche diese bedingung erfüllen, findest du im handbuch der DB.

    gruss,
    wahsaga

  4. Hallo Will,

    wie kann ich einträge aus einer mysql-datenbank nach dem datum sortiert ausgeben.

    indem du bei "ORDER BY" die Spalte in der das Datum steht angibst.

    bei jedem eintrag ist ein datum in diesem format: TT-MM
                                                      15.09

    um nach einer Datumsspalte sortieren zu können muss die Spalte mit dem Datum ein Datumsformat haben (->http://www.mysql.de/doc/de/Date_and_time_types.html) - was sowieso sinnvoller ist, um das Datum bei der Ausgabe auch beliebig formatieren zu können und um mit den Daten auch rechen zu können.

    wenn ich es versuche zu sortieren, dann wird es als eine dezimal zahl gelesen und wird falsch sortiert.

    die Spalte hat vermutlich einen numerischen Type, oder?

    Grüße aus Nürnberg
    Tobias

    --
    Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|