Matthias: mySQL und Datum

Hallo allerseits

Ich habe eine Frage zu mySQL und Datum. Ich verwende Perl DBI für die DB-Ansteuerung.

Ich möchte eine Abfrage machen und das Datum gleich richtig formatiert erhalten. Ich habe mir da auch eine Abfrage zusammen gebaut, nur scheint diese nicht wirklich zu funktionieren:

$query = "SELECT *, DATE_Format(Date_ZD,'%d.%m.%Y') AS Date_ZD FROM kunden WHERE $searchfor ORDER BY Name_KA";

Was habe ich falsch gemacht?

Grüsse Matthias

  1. Moin Matthias,

    Was habe ich falsch gemacht?

    welche Fehlermeldung wird Dir ausgeliefert?
    Inwieweit unterscheidet sich das von Dir erwartete Ergebnis vom gelieferten Ergebins?

    regds
    Mike©

    --
    Freunde kommen und gehen. Feinde sammeln sich an.
    1. Hallo zusammen

      Nun, der Fehler ist, dass keine Abfrage statt findet. Einen Fehler an sich gibt der SQL nicht aus.

      @Vinzenz Mai:
      Doch, ich benötige zwingen alle Felder aus dieser DB! Daher muss zwingen * sein!

      Vermutlich ist meine Abfrage falsch, nur sehe ich den Fehler nicht.

      1. Hallo Matthias,

        Nun, der Fehler ist, dass keine Abfrage statt findet. Einen Fehler an sich gibt der SQL nicht aus.

        wie lautet das SQL-Statement? (Hab' ich das nicht schon einmal gefragt?)
        hast Du dieses SQL-Statement mit einem beliebigen Clienttool abgesetzt?
        Wenn ja, wie sah das Ergebnis aus? Gab es eine Fehlermeldung?
        warum benennst Du zwei Spalten gleich? MySQL erlaubt das, aber ich verstehe den Sinn dieser Maßnahme nicht. (Hab' ich das nicht auch schon gefragt?)
        Welche MySQL-Version verwendest Du?

        Doch, ich benötige zwingen alle Felder aus dieser DB! Daher muss zwingen * sein!

        oh, Du benötigst also das Datum auch noch in normaler Form? Meiner Meinung nach ist es dennoch eine gute Idee, alle Spalten schön einzeln abzufragen. Ja, es ist einmalig etwas mehr Arbeit.

        Freundliche Grüße

        Vinzenz

        1. oh, Du benötigst also das Datum auch noch in normaler Form? Meiner Meinung nach ist es dennoch eine gute Idee, alle Spalten schön einzeln abzufragen. Ja, es ist einmalig etwas mehr Arbeit.

          Ja ja ich weis, schlechte Programierung und so. Aber ich bin erst am testen :-).

          Also so klappts nun bei mir:
          $query = "SELECT *, DATE_Format(Date_ZD,'%d.%m.%Y') AS Date_ZD2 FROM kunden WHERE kundennr = '70' ORDER BY Name_KA"

          Nur wie bringe ich nun das neu formatierte datum (Date_ZD2) in eine Variabel? Ich bekomme alle felder in eine Varaiabel nur nicht dieses verflixte Date_ZD2. Mann ich bin glaube ich echt zu blöde.

          Sollte doch so gehen oder?

          $sth->bind_columns(undef, ($kundennr, $Kundenstat_KA, $Date_ZD, $Date_ZD2));

          Grüsse Matthias

  2. Hallo Mathias,

    Ich möchte eine Abfrage machen und das Datum gleich richtig formatiert erhalten. Ich habe mir da auch eine Abfrage zusammen gebaut, nur scheint diese nicht wirklich zu funktionieren:

    $query = "SELECT *, DATE_Format(Date_ZD,'%d.%m.%Y') AS Date_ZD FROM kunden WHERE $searchfor ORDER BY Name_KA";

    Wie lautet der Inhalt von $query?

    Was habe ich falsch gemacht?

    Du erzeugst einen Spaltennamen, den es bereits gibt.
    Du hast uns Perlcode anstelle eines SQL-Statements gepostet.
    Du verwendest SELECT *, obwohl Dich nicht alle Spalten interessieren.
    Du hast uns Deine Fehlermeldungen nicht verraten.
    Bei MySQL ist (auch wenn hier wohl nicht relevant) die Version immer von Interesse.

    Ich bitte um weitere Informationen.

    Freundliche Grüße

    Vinzenz