andi____ Geschrieben 2. März 2005 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
kills Geschrieben 2. März 2005 Geschrieben 2. März 2005 in welchem Format ist das datum gespeichert? varchar? char? date? datetime? Gruß, Markus
perdian Geschrieben 2. März 2005 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
andi____ Geschrieben 2. März 2005 Autor Geschrieben 2. März 2005 mist..... okay, danke. Dann sortier ich nach irgend was anderes halt und sag dass das so besser sei *g*
Jaraz Geschrieben 2. März 2005 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
kills Geschrieben 2. März 2005 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
perdian Geschrieben 2. März 2005 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
kills Geschrieben 3. März 2005 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
freq.9 Geschrieben 4. März 2005 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?
perdian Geschrieben 4. März 2005 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.
kills Geschrieben 4. März 2005 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
perdian Geschrieben 4. März 2005 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.
kills Geschrieben 4. März 2005 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
freq.9 Geschrieben 5. März 2005 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
kills Geschrieben 5. März 2005 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
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden