andi____ Geschrieben 2. März 2005 Teilen Geschrieben 2. März 2005 Ich habe folgendes Datumsformat in meiner sql Tabelle: 01.01.2005-13:40 Ich will danach ordnen, aber er macht mir dann eben z.B. den 01.03. vor den 02.01. muss ich vorher dann das Datum umwandeln? Wie? danke Andreas Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kills Geschrieben 2. März 2005 Teilen Geschrieben 2. März 2005 in welchem Format ist das datum gespeichert? varchar? char? date? datetime? Gruß, Markus Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
andi____ Geschrieben 2. März 2005 Autor Teilen Geschrieben 2. März 2005 varchar(20) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
perdian Geschrieben 2. März 2005 Teilen Geschrieben 2. März 2005 varchar(20) Dann hast du gar keine Chance das Ergebnis nach Datum sortiert zu bekommen. Wie auch? Die Datenbank weiss ja nicht, dass das was du da als Text gespeichert hast ein Datum repräsentiert. Willst du das ganze wirklich nach Datum sortieren, so brauchst du auch ein Datumsfeld (DATE, TIMESTAMP, etc.) Info: MySQL Reference Manual :: 11.3.1 The DATETIME, DATE, and TIMESTAMP Types Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
andi____ Geschrieben 2. März 2005 Autor Teilen Geschrieben 2. März 2005 mist..... okay, danke. Dann sortier ich nach irgend was anderes halt und sag dass das so besser sei *g* Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Jaraz Geschrieben 2. März 2005 Teilen Geschrieben 2. März 2005 Hi, wenn das wirklich deine Tabelle oder dein Code ist, ÄNDERE DASS! Oder du wirst von jedem anderen Programmierer der mal mit deinem Code arbeiten muss er*****. :mod: Datumswerte speichert man auch mit entsprechenden Datumstypen der benutzten Datenbank. Gruß Jaraz Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kills Geschrieben 2. März 2005 Teilen Geschrieben 2. März 2005 Dann hast du gar keine Chance das Ergebnis nach Datum sortiert zu bekommen. sag niemals nie. Es ist zwar nicht schön so zu sortieren aber wenn du nicht anders kannst: Du könntest per Substr den Datumsstring in einzelne Felder zerteilen und nach diesen dann sortieren.... Gruß, Markus Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
perdian Geschrieben 2. März 2005 Teilen Geschrieben 2. März 2005 Du könntest per Substr den Datumsstring in einzelne Felder zerteilen und nach diesen dann sortieren....Ja, aber das ist sowas von hinten durch die Brust ins Auge - das gilt nicht Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kills Geschrieben 3. März 2005 Teilen Geschrieben 3. März 2005 Ja, aber das ist sowas von hinten durch die Brust ins Auge - das gilt nicht Mag sein, aber falls man die Struktur nicht verändern darf ist es eine Möglichkeit . Nicht schön aber selten,... :floet: Ich würd dann den SQL mit den substr usw in eine View packen, somit hast du den ganzen mechanismus nur einmal im ganzen programm und nicht an jeder stelle an der du nach datum sortieren willst.... Gruß, Markus Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
freq.9 Geschrieben 4. März 2005 Teilen Geschrieben 4. März 2005 Dann hast du gar keine Chance das Ergebnis nach Datum sortiert zu bekommen. Wie auch? Wie wäre es mit ein wenig nachdenken? <?php function sortieren ($arr_datum) { // berechnen/umstellen/sortien/ausgeben } ?>[/PHP] Und ist es immernoch unmöglich? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
perdian Geschrieben 4. März 2005 Teilen Geschrieben 4. März 2005 Wie wäre es mit ein wenig nachdenken? Es ging sich um das Sortieren direkt über SQL. Natürlich kann ich mir erst die Datensätze alle ziehen und danach manuell sortieren - alles kein Problem. Aber was machst du beispielsweise, wenn du 10^6 Datensätze in der Tabelle stehen hast, aber nur die letzten 10^2 anzeigen willst? Mit der Methode manuell sortieren, nachdem die Daten aus der Datenbank gezogen worden sind hättest du so einen Overhead, der es niemals rechtfertigt so vorzugehen. Und es macht immer mehr Sinn, ein Problem an der Wurzel zu packen und (frühzeitig) zu lösen, anstatt zu versuchen im Nachhinein herumzudoktern und doch noch das gewünschte Verhalten von aussen überzustülpen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kills Geschrieben 4. März 2005 Teilen Geschrieben 4. März 2005 Es ging sich um das Sortieren direkt über SQL. Natürlich kann ich mir erst die Datensätze alle ziehen und danach manuell sortieren - alles kein Problem. Aber was machst du beispielsweise, wenn du 10^6 Datensätze in der Tabelle stehen hast, aber nur die letzten 10^2 anzeigen willst? Mit der Methode manuell sortieren, nachdem die Daten aus der Datenbank gezogen worden sind hättest du so einen Overhead, der es niemals rechtfertigt so vorzugehen. Und es macht immer mehr Sinn, ein Problem an der Wurzel zu packen und (frühzeitig) zu lösen, anstatt zu versuchen im Nachhinein herumzudoktern und doch noch das gewünschte Verhalten von aussen überzustülpen. Genau meine Meinung! Ich denke das ganze mit einer View zu realisieren, wie oben genannt wäre die beste möglichkeit das ganze zu realisieren, vorrausgesetzt er darf die aktuelle Struktur nicht anpassen. Gruß, Markus Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
perdian Geschrieben 4. März 2005 Teilen Geschrieben 4. März 2005 Ich denke das ganze mit einer View zu realisieren, wie oben genannt wäre die beste möglichkeit das ganze zu realisieren, vorrausgesetzt er darf die aktuelle Struktur nicht anpassen. Nein, das ist nicht der beste Weg! Wenn ich solch eine Struktur *nachobenzeig* nicht ändern darf dann sollte ich mich nicht damit beschäftigen, wie ich um das Problem herumkomme, in dem ich einen View erstelle oder irgendwelche Sortieralgorithmen im Nachhinein implementiere. Statt dessen muss ich dann zu demjenigen gehen, der für das Änderungs-Verbot verantwortlich ist und muss ihm die Situation so darlegen, wie sie ist - nämlich dass ich hier ein grottenschlechtes Design vor mit habe, was in jeder Hinsicht (Übersicht, Performance, ...) einfach nur in die Tonne gehört. Ich kann mir nicht vorstellen, dass jemand bei einer vernünftigen Begründung dann immer noch sagt "Nein, das muss so bleiben". Der Später-Herumdoktern-Weg mag vielleicht im ersten Moment der Weg des geringsten Widerstandes sein, aber so rennt man immer wieder gegen Wände, die man sich selber aufgestellt hat. Was ist, wenn ich nächste Woche noch irgendeine andere Funktionalität benötige, die sich wieder nicht durchführen lässt wegen vermurkstem Design? Dann geht das ganze wieder von vorne los. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kills Geschrieben 4. März 2005 Teilen Geschrieben 4. März 2005 Ich kann mir nicht vorstellen, dass jemand bei einer vernünftigen Begründung dann immer noch sagt "Nein, das muss so bleiben". Naja, wenn ich wegen solch einem Fehler mehrere Programme ändern muss die schon mit dieser Struktur arbeiten wäre das schon ein Grund.... Oder wenn in meinem aktuellen Programm deshalb an sehr vielen Ecken und Kanten änderungen anfallen, dann wäre das auch ein Grund... Oder wenn ich dazu ein Programm ändern müsste das schon Jahrelang in der aktuellen Version 100%tig läuft und man durch solch einen Eingriff vielleicht ungewollte Bugs hervorruft.... Oder, Oder, Oder... Gruß, Markus Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
freq.9 Geschrieben 5. März 2005 Teilen Geschrieben 5. März 2005 Vllt. ne eigene Funktion in SQL Schreiben und diese nutzen? Fragt mich aber nun nicht wie man das macht, denn darin hab ich nicht so unbedingt die Ahnung aber das sollte auch möglich sein. Müsste ich mal bei der nächsten PHP-UG ansprechen. Naja dafür muss auch der kleine MySQL-Mensch da sein Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kills Geschrieben 5. März 2005 Teilen Geschrieben 5. März 2005 Vllt. ne eigene Funktion in SQL Schreiben und diese nutzen? Fragt mich aber nun nicht wie man das macht, denn darin hab ich nicht so unbedingt die Ahnung aber das sollte auch möglich sein. Müsste ich mal bei der nächsten PHP-UG ansprechen. Naja dafür muss auch der kleine MySQL-Mensch da sein hm das wäre auch eine Möglichkeit. Einfach eine stored prcedure bzw. function schreiben: http://dev.mysql.com/doc/mysql/en/stored-procedures.html geht aber nur mit MySQL 5!! Stored procedures and functions are a new feature in MySQL version 5.0. Gruß, Markus Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.