MySQL "SELECT * from $tabelle order by datum"
Stefan
- datenbank
Hallo!
Meine SQL-Datenbank wird durch
SELECT * from $tabelle order by datum
nach dem Feld "datum" sortiert.
Allerdings gibt es Probleme bei der Sortierung:
Das Datum wird in der Form 20.02.2002 in die Datenbank eingegeben.
Wenn ich nun mehrere Daten habe, werde diese aber nicht chronologisch geordnet; es sieht dann so aus:
01.01.2002
01.05.2002
01.05.2005
01.12.2002
Kann mir jemenad sagen, wie ich das ändern kann?
D.h. also einfach die verschiedenen Daten aufsteigend sortieren?
Vielen Dank,,
Stefan Spieren
hi!
Das Datum wird in der Form 20.02.2002 in die Datenbank eingegeben.
Welchen Typ hat denn das Feld, in dem du dein Datum speicherst? Doch
nicht etwa CHAR(x) bzw. VARCHAR(x)? Dann geht das natürlich nicht
vernünftig, da dann einfach die Strings sortiert werden.
Also verwende einen Datentyp, der für Zeitangaben geschaffen ist:
DATE, DATETIME oder TIMESTAMP -- in deinem Fall vermutlich das erste.
Dann klappt's auch mit dem sortieren.
bye, Frank!
» Welchen Typ hat denn das Feld, in dem du dein Datum speicherst? Doch
nicht etwa CHAR(x) bzw. VARCHAR(x)? Dann geht das natürlich nicht
vernünftig, da dann einfach die Strings sortiert werden.
Der Typ ist TEXT!!!
Also verwende einen Datentyp, der für Zeitangaben geschaffen ist:
DATE, DATETIME oder TIMESTAMP -- in deinem Fall vermutlich das erste.
Dann klappt's auch mit dem sortieren.
Leider nicht!!!
Gibts da noch was anderes, was ich beachten muss?
Moin!
Der Typ ist TEXT!!!
TEXT ist als Datentyp für ein "DATUM" falsch. Nimm, wie schon gesagt, DATE (für ein Tagesdatum), DATETIME (für ein Datum mit Zeitangabe) oder TIMESTAMP (ebenfalls Tag mit Uhrzeit).
Also verwende einen Datentyp, der für Zeitangaben geschaffen ist:
DATE, DATETIME oder TIMESTAMP -- in deinem Fall vermutlich das erste.
Dann klappt's auch mit dem sortieren.
Leider nicht!!!
Gibts da noch was anderes, was ich beachten muss?
Hattest du den Spaltentyp auf einen Datumstyp umgestellt? Wenn nein: Mach das zuerst. Danach wirst du vermutlich die bereits gespeicherten Daten nochmal alle auf die korrekte Datumsschreibweise umändern müssen, und dann sollte es gehen.
- Sven Rautenberg
Hi Stefan,
Das Datum wird in der Form 20.02.2002 in die Datenbank eingegeben.
ganz schlechte Idee.
Wenn schon kein geeignetes Tabellenformat, dann doch wenigstens ISO-Notation des Datums (YYYY-MM-DD), das ist nämlich sehr wohl string-sortierbar.
Viele Grüße
Michael