Per impostazione predefinita, i numeri di ordini SQL prima dei caratteri.ORDINA DI varchar con [a-9] anziché [0-Z] in SQL
Quindi, se ho la colonna "nome":
abc
ab1
a1b
1ba
1bac
b21
Dal tipo SQL da 0-Z (prima 0-9, poi AZ), la query
SELECT * FROM ... ORDER BY name
si tradurrà in :
1ba
1bac
a1b
ab1
abc
abc1
b21
Ma voglio che venga ordinato da a-0 (prima aZ, quindi 0-9).
abc
abc1
ab1
a1b
b21
1ba
1bac
Come si esegue questa operazione in una query? Più specificamente, come faccio a farlo in SQLite?
ho trovato una soluzione in Sort MySQL results alphabetically, but with numbers last, ma solo per il primo carattere.
I tuoi valori sono sempre lunghi 3 caratteri? – gbn
Potresti [usare l'interfaccia C per creare una funzione] (http://www.sqlite.org/c3ref/create_function.html) che usa ['regexp'] (http://sqlite.org/lang_expr.html) operatore per tirare fuori le lettere e i numeri in colonne separate. –
@gbn No, possono essere molto lunghi .. Probabilmente hanno dimostrato che :) – Nic