Sortierung SQLite Tabelle: Spalte ID enthält Text mit Zahlen

Hallo,

ich habe eine SQLite Datenbank mit einer Tabelle ID, die als TEXT erzeugt wurde.

CREATE TABLE "t" ("id"	TEXT);

die ID kann nun numerische Werte aber auch alphanumerische Werte annehmen.
z.B. Title 1, Title 10, Title 2, Title 3,…

Ich möchte nun die Inhalte der Tabelle sortiert erhalten und bekomme das nicht hin:
Weder

select id from t order by Cast(id as INTEGER);

noch

select id from t order by (id +0);

Das Beispiel gibt es hier bei SQLFiddle

Danke
GGK

from t 
 order by LENGTH(id), id

Wie es scheint macht SQL standardmäßig keine natürliche, sondern nur eine reine alphanumerische, Sortierung. Mit Length sortierst du zusätzlich nach der Länge.

naja…wenn es dann mal Title11, Title 20 gibt komm ich damit auch nicht zurecht

Also soll nur nach der Zahl sortiert werden, nicht nach dem Text der davor steht? Oder nach Beidem aber ohne Leerzeichen?

Das ist die Reihenfolge die ich erwarten würde, kommt auch raus auf SQL Fiddle:
Title 1
Title 10
Title 2
Title 3
Title 4
Title 5
Title 6
Title 7
Title 8

Was ist den nun das Problem?

Das man einen Text der Alphanumerische Zeichen enthält nicht in einen Integer casten kann, sollte nicht überraschen…

Wenn du eine andere Reihenfolge brauchst, solltest du klarstellen wie du denn sortieren willst.

die sortierung sollte numerisch erfolgen. Also
Title 1
Title 2
Title 3
Title 4
Title 5
Title 6
Title 7
Title 8
Title 10
Title 11
Title 20

ich habs mittlerweile im Code gelöst und nicht über die SQL Abfragen.

Danke
GGK