Mit MySQL das Alter berechnen – Teil 2

Vor ein paar Tagen habe ich einen Eintrag geschrieben, wie man mit MySQL das Alter berechnen kann. Nun möchte ich noch mal ein paar Hinweise geben, wie man verhindern kann, dass man beim Testen wahnsinnig wird – so wie es mir fast ergangen wäre.

Ich arbeite fast ausschließlich mit phpMyAdmin, obwohl ich weiß, dass es z.B. gerade für Stored Procedures nicht sonderlich gut geeignet ist. Nun habe ich beim Testen der einzelnen Teile der SQL-Abfrage ein Problem entdeckt. Dazu muss man wissen, dass phpMyAdmin sehr oft bei SELECT-Abfragen ein „LIMIT 0, 30“ anhängt, um das Ergebnis auf die ersten 30 Reihen zu beschränken. Nach welchen Regeln das läuft, ist mir allerdings nicht so ersichtlich. Eigentlich ist es aber sehr komfortabel.

Folgenden Code liefert über phpMyAdmin ein makelloses Ergebnis:

SELECT EXTRACT(YEAR_MONTH FROM NOW());

Ergebnis (zumindest „heute“): 200709

Der nächste Test:

SELECT EXTRACT(YEAR_MONTH FROM '2007-09-24');

Dort hängt phpMyAdmin automatisch ein LIMIT 0, 30 an, also wird daraus:

SELECT EXTRACT(YEAR_MONTH FROM '2007-09-24') LIMIT 0, 30;

Und dann knallt’s erst mal ganz ordentlich und der rote böse phpMyAdmin-Error-Screen taucht auf. Wenn man nun nicht so auf das LIMIT 0, 30 achtet, bzw. denkt, dass das nicht schlimm ist, weil es ja damit sonst auch immer klappt, dann steht man da und guckt wie eine Kuh wenn’s donnert. :-)

Auch die Fehlermeldung irritiert nur, denkt man doch, dass irgendwas an der Syntax falsch ist:

#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 ‚YEAR_MONTH FROM ‚2007-09-24′ )
LIMIT 0, 30‘ at line 1

Fazit: Die Syntax ist auf jeden Fall richtig, was ein Test auf der Konsole belegen kann. Es handelt sich also um eine verkettung doofer (phpMyAdmin-)Umstände.

Mysteriös! :-)

War dieser Artikel hilfreich für Sie?
[Gesamt: 0 Durchschnitt: 0]

One thought on “Mit MySQL das Alter berechnen – Teil 2

  1. Paul sagt:

    Diesen Ansatz zur Altersberechnung von MySQL kannte ich nun noch nicht.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *