Veröffentlicht 12. Juni 200322 j Hallo, wie kann ich die Daten aus einem Textfeld in einer SQL-Abfrage sortieren? Es handelt sich hierbei ausschließlich um Uhrzeiten, die aber leider als String abgespeichert werden. Mit "SELECT * FROM TABELLE ORDER BY DAUER" habe ich es bereits probiert.. Leider wird hier aber (nicht) richtig sortiert weil ich hier kein Time-Feld habe. Ich bekomme so eine Sortierung zurück: 0:01 0:05 0:10 1:00 10:00 1:30 2:00 4:00 Abändern kommt leider auch nicht in Frage, weil andere Programme dieses Feld als Textfeld benötigen. Wer kann mir helfen??? Ist echt wichtig!! Danke!! Chris;-)
12. Juni 200322 j hi! Mmhhh folgendes ist noch nicht getestet und ich übernehme keine Garantie auf funktion: SELECT LTRIM(*) FROM TABELLE ORDER BY DAUER; Könnte evtl funktionieren, denn jetzt werden alle Zeichen Links von der Zahl abgeschnitten. Jetzt könnte/sollte die 10:00 auf länger als die 2:00 sein und damit hinten stehen. Schreib mal ob es funktioniert hat.
12. Juni 200322 j Hi Chris, ich würde es so machen: Rechne das einfach in Sek um, schon kannst du es ordnen und dann neu dargestellt ausgeben ... Oder du baust dir eine View (unter ora9 kein prob) und einen Trigger, der die Daten aus der Tabelle holt, sobald eine Abfrage auf die View gemacht wird. In der View machst du dann die Spalten Sek und min ... Matze, der gerade auf Ora8 entwickelt ...
12. Juni 200322 j hi, was auch funktionieren sollte: select * from tabelle order by to_date(spalte, 'HH24:MI') habs aber nicht getestet... hth
13. Juni 200322 j Hi, danke für eure Hilfe! @Pointerman: Deine Lösung hat leider nicht funktioniert. @matze-ikea-it: Meinst du nicht, dass das etwas umständlich ist? @Peregrin: Das ist wohl die einfachste Lösung... und funktioniert 100%ig! Danke!!! Gruß Chris;-)
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.