Aquariophile: -> (MYSQL) Datum 2002-02-19 als 19.02.2002 ausgeben

Hallo!

In einer Tabelle meiner MySQL-Datenbank
existiert eine Spalte mit dem Namen "datum"
und der type ist "DATE"

Das heißt ich muss das Datum im Stil von 2002-02-19
in die Datenbank einfügen,
damit die Datenbank das Datum auch versteht und später
feststellen kann welches Datum früher oder später war.

Das ist mir wichtig,
sonst könnte ich ja auch varchar nehmen,
aber das geht aus oben geanntem Grund nicht.

Das Problem ist aber,
dass ich das Datum auch ausgeben will,
bei der Ausgabe will ich aber dass er
NICHT 2002-02-19 anzeigt,
sondern 19.02.2002

Wie kann ich das machen?
(Programmiersprache Perl, Datenbank MySQL)

Danke!
Aquariophile

PS.: Wenn möglich will ich KEIN zweites Feld
     fürs Datum in varchar anlegen wo ich es a la 19.02.2002
     speichere, sondern will das Selbe Datumsfeld abfragen.

  1. hi!

    Das Problem ist aber, dass ich das Datum auch ausgeben will, bei der
    Ausgabe will ich aber dass er NICHT 2002-02-19 anzeigt, sondern
    19.02.2002 Wie kann ich das machen?

    Dazu splittest du einfach das Datum, das du von der Datenbank erhälst
    auf in seine Einzelkomponenten, nämlich Jahr, Monat und Tag. Das geht
    ja relativ problemlos, weil sie alle durch - getrennt sind. Danach
    kannst du die einzelnen Komponenten ganz einfach neu zusammensetzen.

    bye, Frank!

    1. hi!

      Dazu splittest du einfach das Datum, das du von der Datenbank erhälst
      auf in seine Einzelkomponenten, nämlich Jahr, Monat und Tag.

      Na dann sags ihm doch :-)

      $datum=explode("-",$datum_aus_db);
      $ausgabe="$datum[2].$datum[1].$datum[0]";

      Gruss

      Rainer

      1. Hallo,

        $datum=explode("-",$datum_aus_db);

        Tja, Perl ist eine rundum sozial angelegte Sprache. Da haben solche Gewaltausbrüche wie 'explode' natürlich nichts verloren. Es ist ja eigentlich schon ein Jammer, daß es überhaupt das 'split' gibt, Gott sei Dank wurde auch, zum positiven Ausgleich ein 'join' mit eingebaut.

        also: (z.B.)
        $ausgabe = join('.',reverse(split('-',$datum_aus_db)));

        Grüße
          Klaus

      2. hi!

        Dazu splittest du einfach das Datum, das du von der Datenbank
        erhälst auf in seine Einzelkomponenten, nämlich Jahr, Monat und
        Tag.
        Na dann sags ihm doch :-)

        Ein bisschen eigene Bereitschaft zum denken darf ich wohl doch noch
        erwarten, oder nicht? :)

        $datum=explode("-",$datum_aus_db);
        $ausgabe="$datum[2].$datum[1].$datum[0]";

        Sieht irgendwie nicht auf wie Perl... ;)

        bye, Frank!

  2. Hallo,

    Wie kann ich das machen?
    (Programmiersprache Perl, Datenbank MySQL)

    Neben der Variante mit Perl kannst Du im SQL-Statement auch die Funktion DATE_FORMAT (http://www.mysql.com/doc/D/a/Date_and_time_functions.html) verwenden:

    SELECT was,auch,immer,DATE_FORMAT(datum,'%d %m %y') FROM tabelle

    Grüße
      Klaus