Sono nuovo di postrge e desidero ordinare le colonne di tipo varchar. vuole spiegare il problema con la con la sottostante esempio:Caso alfanumerico ordinamento in-sensitive in postgres
nome della tabella: testsorting ordinamento sensibile
order name
1 b
2 B
3 a
4 a1
5 a11
6 a2
7 a20
8 A
9 a19
caso (che è di default in Postgres) dà:
select name from testsorting order by name;
A
B
a
a1
a11
a19
a2
a20
b
caso in- l'ordinamento sensibile fornisce:
selezionare il nome dall'ordine di testorting da UPPER (nome);
A
a
a1
a11
a19
a2
a20
B
b
Come posso fare caso alfanumerico sensibili ordinamento in Postgres per ottenere sotto ordine:
a
A
a1
a2
a11
a19
a20
b
B
I wont importa l'ordine per il capitale o minuscole, ma l'ordine dovrebbe essere " aAbB "o" AaBb "e non dovrebbe essere" ABab "
Si prega di suggerire se si dispone di una soluzione a questo in postgres.
Grazie Michal. Ho controllato psql -l ma non mi mostrava la locale configurata. Utilizzando COLLATE "pl_PL" in SELEZIONA ha funzionato e ordinato la lista in caso in-sensibile tuttavia il problema ancora con l'alfanumerico e "a2" è elencato dopo "a11" e "a19". vuoi dire che l'utilizzo di una corretta COLLATE risolverà l'ordinamento alfanumerico? – akhi
Vedere la mia risposta a cura –