Damn: ORDER BY ... regex?

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

  1. 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

  2. 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