Mailinglisten-Archive |
Rene Vojtech schrieb am Mittwoch, den 29. September 1999:
> ich muss aus einer Datenbank das Datum herausholen und im deutschen
> Format ausgeben.
>
> select datum from datenbank where ....
> bringt z. Bsp.: 1998-08-01
>
> Der folgende Befehl liefert immer nur NULL - warum ???
>
> select DATE_FORMAT(`datum`,`%D %M %Y`) from datenbank where ...
Das Problem sind die falschen Anführungszeichen! Du verwendest
Backticks (`) statt Apostroph (') oder Anführungszeichen (").
Außerdem darf der Feldname _nicht_ in Anführungszeichen stehen,
da es ja kein konstanter Text, sondern eben ein Feldname sein soll.
Und im Formatstring ist Groß-/Kleinschreibung wichtig!
Also so dann:
SELECT DATE_FORMAT(datum, '%d.%m.%Y') FROM datenbank WHERE ...
> gibt es evt. eine Möglichkeit das Datum gleich im deutschen Format
> in der Datenbank zu speichern ?
Als reinen Text in ein Textfeld ginge das, aber das wäre sehr
ungeschickt, denn dann kannst Du die ganzen Datumsfunktionen nicht
mehr direkt auf diese Text-Datumsangaben anwenden und Du kannst nicht
mehr richtig sortieren.
Der bessere Weg ist fast immer, Zeit und Datumsangaben im 'richtigen'
Format in TIME, DATE bzw. DATETIME-Felder zu speichern und nur für die
Ausgabe ganz am Schluß, wenn was auf den Bildschirm soll, ggf. andere
Formate zu erzeugen.
Ciao,
Martin
--
Martin Ramsch <m.ramsch_(at)_computer.org> <URL: http://home.pages.de/~ramsch/ >
PGP KeyID=0xE8EF4F75 FiPr=52 44 5E F3 B0 B1 38 26 E4 EC 80 58 7B 31 3A D7
---
*** Abmelden von dieser Mailingliste funktioniert per E-Mail
*** an mysql-de-request_(at)_lists.4t2.com mit Betreff/Subject: unsubscribe
php::bar PHP Wiki - Listenarchive