deutsche Zahlenformate mit mySQL und PHP
Michael Kleinhans
- php
Hi, Gute Nacht ...
Dass man PHP deutsche Ländereinstellungen verpassen kann (Komma statt Punkt als Dezimaltrennzeichen und so ...) hab ich schon gesehen - aber bedeutet das, dass ich bei jedem Wert, den ich in mySQL speichere oder lade erstmal ins/vom US-Zahlenformat konvertieren muss? Oder kann ich mySQL das deutsche Zahlenformat auch beibringen?
Ob's allgemein wünschenswert ist, ein deutsches Zahlenformat in einer DB zu haben sei mal dahin gestellt - wenn ich aber will, kann ich?
Oder muss ich wandeln? Unterstützt PHP mich da vielleicht, in dem es das automatisiert?
Das Thema ist so'n bisschen weitläuftig, ich hab wenig definitives mit Beispielen im Web gefunden ...
Hallo!
Oder kann ich mySQL das deutsche Zahlenformat auch beibringen?
mySQL legt z.B. ein Datum folgendermaßen ab: 2001-07-19, oder so sieht esfür "uns" aus. Wie es nun mySQL wirklich abspeichert, ist nicht das Problem des Users.
Ob's allgemein wünschenswert ist, ein deutsches Zahlenformat in einer DB zu haben sei mal dahin gestellt - wenn ich aber will, kann ich?
DATE, TIME oder DATETIME wird ja nicht von mySQL "selbst" geschrieben, nur TIMESTAMP. Welches Datum Du da rein schreibst, ist Dein Problem, nur nicht die Form. In INT kannst Du kein String ablegen und DATE hat die Form YYYY-MM-DD.
Oder muss ich wandeln? Unterstützt PHP mich da vielleicht, in dem es das automatisiert?
Lass Dir von mySQL über die Funktion date_format() einfach den richtigen Datumsstring liefern.
datum
2001-07-14
2001-07-15
2001-07-16
2001-07-17
SELECT DATE_FORMAT(datum, '%d.%c.%Y') AS dt_datum FROM tabelle;
dt_datum
14.07.2001
15.07.2001
16.07.2001
17.07.2001
z.B.
SELECT DATE_FORMAT(datum, 'Tag: %d Monat: %c Jahr: %Y') AS dt_datum FROM tabelle;
Scrolle etwas runter, dort steht dann eine Tabelle mit den "Formatierungsparametern".
http://www.mysql.com/documentation/mysql/bychapter/manual_Reference.html#Date_and_time_functions
IMHO ..., Problem ist hier, das Du mit %W nicht Montag, sondern Monday geliefrrt bekommst.Vielleicht hängt das auch von der eingestellten Sprache des Betriebsystems ab! Habe ich noch nie probiert.
Ansonsten:
http://www.mysql.com/doc/L/a/Languages.html
http://www.mysql.com/doc/R/e/Replication_Options.html
[http://www.mysql.com/doc/manual.php?search_query=german&submit=Search&depth=2]
MfG, André Laugks
Hallo!
:-(
Wie komme ich eigentlich drauf, daß Du nach der Formatierung von Daten (ich finde Datums besser) gefragt hast.
mySQL hat eben seine vorgeschriebenen Datentypen, die Daten nur in bestimmter Form aufnehmen können. Dezimalzahlen werden mit einem Punkt versehen. anstatt mit einem Komma.
Hier könntest Du mit mySQL/SQL-Funktionen arbeiten, also um die Ausgabe ohne PHP zu formatieren.
MfG, André Laugks