ORDER BY ... regex?
Damn
- datenbank
Hi,
Ich lese Daten aus einer Datenbank aus, und möchte diese gleich sortieren. Das Problem ist, dass ich nicht direkt nach einer Spalte sortieren will, sondern nach einem Teil aus dem Inhalt eines Feldes.
Also sagen wir mal ich habe in einer Tabelle folgende Daten:
'Vertrag endet am 07.06.12'
'Vertrag startet am 08.07.01'
'Vertrag ... am 06.12.03'
Nun möchte ich die drei Datensätze anhand des Datums sortiert auslesen.
Das einfachste wäre, wenn ich eine Spalte in der Tabelle habe, wo nur das Datum drinsteht, aber was ist, wenn ich diese nicht habe? Kann ich dann mein Problem lösen?
greets
Damn
Hallo,
Das einfachste wäre, wenn ich eine Spalte in der Tabelle habe, wo nur das Datum drinsteht, aber was ist, wenn ich diese nicht habe? Kann ich dann mein Problem lösen?
Was hält dich davon ab, diese Spalte(n) anzulegen?
Ciao, Frank
Huhu!
Ich glaube, wenn Du da eine ganz normale ORDER BY-Klausel nutzen möchtest, kriegst Du das nicht hin. So eine Funktion mit der Du da irgendwie reguläre Ausdrücke einbauen wie Du Dir vorstellst, gibt es, glaub ich, nicht.
SELECT * FROM tabelle ORDER BY Spaltenname
würde allerdings funktionieren und zwar ganz ohne RegEx. Es würde Dir das Zeug in alphanumerischer Reihenfolge präsentieren.
Also
'Vertrag endet am 07.06.12' vor 'Vertrag startet am 08.07.01'
wegen e in endet und s ind startet.
Ich glaube, so wie Du das hier notierst, klappt das sogar mit den Daten.
Es ist allerdings wichtig, dass Du das Datumsformat JJ.MM.TT wählst!
Beste Grüße
~ Thilo