Seite 1 von 1

Date von DB umwandeln in "deutsches Datum"

Verfasst: 15.02.2010 18:11
von Bones van Helghast
Ich hab ein riesen Problem... ich hab da ne kleine Tabelle die ausgegeben werden soll und die man umsortieren kann Nutzernamen und Rang nacheinander Sortierend aufsteigend und absteigend funktioniert.
Ich hab auch Daten (Mehrzahl von Datum :p) in der SQL-DB gespeichert allerdings nicht mit der Struktur "Date" sondern mit der Struktur "VARCHAR".
Wenn ich nun ORDER BY datum DSEC oder ASC mach wird die Tabelle falsch umgekramt da werden einfach die ersten 2 stellen genommen und so sortiert ohne rücksicht auf die restlichen stellen zu nehmen:

Hier sind mal die ersten 5 Daten (Unsortiert) aus der tabelle:

17.09.2009
01.11.2009
17.09.2009
30.09.2009
02.11.2009

Nun DSEC sortiert wieder die ersten 5:
30.09.2009
28.11.2009
28.09.2009
28.09.2009
27.11.2009

Und nun ASC sortiert ebenfalls nur die ersten 5 ausgaben:
01.01.2010
01.11.2009
02.10.2009
02.10.2009
02.11.2009

Nun zu meiner Frage, wie schaff ich es dass rücksicht auf den restlichen ziffern genommen wird beim sortieren und das ganze richtig sortiert wird ?

ich hatte überlegt das irgendwie per time() zu machen hab aber keine ahnung wo ich das ansetzen muss...

Ich brauch wirklich dicke hilfe :roll:.

Zum Code

Weiter zum nächsten Problem wo ich auch hilfe brauchen könnte es gehört noch zum selben Thema.
Wenn ich nun einen neuen Datensatz per Formular auf meiner Website machen möchte sind 3 input zeilen (Name, Rang und Datum) das Datum muss das ganze natürlich in den Format für die MySQL speichern oder nicht ? Oder wie läuft das bei der MySQL ab ?
Ich hab auch hier keine ahnung was ich machen soll...

Re: Date von DB umwandeln in "deutsches Datum"

Verfasst: 19.02.2010 23:22
von gn#36
Das einfachste wäre die Konvertierung der Spalte in ein vernünftiges Datumsformat. Ansonsten probier's mit Substring, das gibt's auch in Mysql, sofern du zumindest immer XX.YY.ZZZZ oder XX.YY.ZZ als Format hast (also gleiche Stellenzahl für Tag und Monat in jedem Eintrag) solltest du damit eine neue Spalte "erzeugen" und dann danach sortieren können. Also per substr das Jahr herausholen, ebenso den Monat und anschließend nach beiden Sortieren, für den Tag kannst du auch die bisherige Spalte nutzen. Bei großen Datenmengen ist die Konvertierung aber mit Sicherheit die bessere Wahl, denn die Stringextraktion ist nicht das schnellste.