Ho una query per il database sqlite3 che fornisce i dati ordinati. I dati sono ordinati sulla base di una colonna che è una colonna "Nome" varchar
. Ora quando faccio la domandaCome modificare le regole di confronto del database sqlite3 per ordinare il caso in modo insensibile?
select * from tableNames Order by Name;
Fornisce i dati come questo.
Pen Stapler pencil
Significa che sta prendendo in considerazione la distinzione tra maiuscole e minuscole. Il modo che voglio è il seguente
Pen pencil Stapler
Quindi quali modifiche devo apportare nel database sqlite3 per i risultati necessari?
correlati How to set Sqlite3 to be case insensitive when string comparing?
"COLLATE NOCASE" funzionerà per qualsiasi lingua? Altrimenti, come si può ordinare su un campo di testo in modo non sensibile al maiuscolo/minuscolo, se la lingua specifica non è nota al momento della compilazione? –
IIRC sqlite3 è nativamente UTF-8, quindi le regole di confronto devono essere eseguite in base alle regole Unicode UTF-8. Questo potrebbe, ovviamente, non essere ciò che l'utente si aspettava ... –
@moodforaday: Non fuori con regole di confronto NOCASE incorporate. È possibile ridefinire le regole di confronto NOCASE nell'applicazione e implementare l'ordinamento in base alle impostazioni locali di sistema/utente correnti. Basta nominare la tua fascicolazione personalizzata "NOCASE". – wqw