phpbar.de logo

Mailinglisten-Archive

Sotierungs Problem

Sotierungs Problem

Matthias Mariacher mysql-de_(at)_lists.bttr.org
Sat, 31 Aug 2002 22:44:02 +0200


Hi Ralf und Liste!

Ralf Busch wrote:
> Hallo
> 
> ihr lieben ich lasse in die Datenbank ein Datum eintragen, das schaut so aus
> 
> 01012002
> 
> 
> Wenn ich nun mehrer Termine eintrage stehen alle Einträge nicht sotiert da
> 
> z.b.
> 01012002
> 01012002
> 01052002
> 01062002
> 05052002
> 10052002
Die sind doch sortiert, nur eben nicht so wie Du Dir das vorstellst 
sondern wie Zahlenwerte. Du kannst Datumseinträge im Format 
TagTagMonatMonatJahrJahrJahrJahr nicht so sortieren weil z.B. das Datum 
04.01.2002 im Format 04012002 größer ist als 01.05.2002 im Format 
01052002. Die Datenbank sieht eben nur 4012002 ist größer als 1052002.
Wenn Du unbedingt varcharfelder verwenden willst geht die Sortierung 
durch mysql nur wenn Du die Daten im Format YYYYMMDD einträgts.
Du kannst natürlich mit dem Skript oder Programm, daß die Datenbank 
abfrägt, den ausgelesenen Wert nehmen und aus DDMMYYYY DD MM YYYY machen 
lassen und die Sortierung von Deinem Programm machen lassen . Schneller 
ist wahrscheinlich in der Datenbank YYYYMMDD zu verwenden und mySQL 
sortieren zu lassen. Die Konvertierung ins Format DDMMYYYY soll dann 
Dein Programm machen.

> 
> Als Feld nutze ich varchar(10) mit int , geht es leider nicht, da läßt er
> mir einfach die erste null weg, wie kann ich es lösen. Übergeben werden die
> Werte an die Db so
Wenn u das Format YYYYMMDD verwendest hättest Du nur im Jahr 0 eine 
führende 0

Vielleicht helfen Dir diese Seiten auch noch weiter:
http://www.mysql.com/doc/en/Using_DATE.html
http://www.mysql.com/doc/en/DATETIME.html

LG

Matthias

---
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->>  http://www.4t2.com/mysql 



php::bar PHP Wiki   -   Listenarchive