Tengo una consulta para la base de datos sqlite3 que proporciona los datos ordenados. Los datos se ordenan sobre la base de una columna que es una columna "Nombre" varchar
. Ahora cuando hago la consulta¿Cómo cambiar la intercalación de la base de datos sqlite3 para ordenar las mayúsculas y minúsculas de forma insensible?
select * from tableNames Order by Name;
Proporciona los datos como este.
Pen Stapler pencil
Significa que está considerando las cosas sensibles a mayúsculas y minúsculas. La forma en que quiero es la siguiente
Pen pencil Stapler
¿Qué cambios debo hacer en la base de datos sqlite3 para obtener los resultados necesarios?
relacionada How to set Sqlite3 to be case insensitive when string comparing?
¿Funcionará "COLLATE NOCASE" para cualquier idioma? De lo contrario, ¿cómo se puede ordenar en un campo de texto de una manera que no distingue entre mayúsculas y minúsculas, si no se conoce el idioma específico en el momento de la compilación? –
IIRC sqlite3 es nativamente UTF-8, por lo que la intercalación debe realizarse de acuerdo con las reglas Unicode UTF-8. Esto podría, por supuesto, no ser lo que el usuario esperaba ... –
@moodforaday: No está disponible con la intercalación NOCASE incorporada. Lo que sí puede hacer es redefinir la intercalación NOCASE en su aplicación e implementar la ordenación según la configuración regional actual del sistema/usuario. Simplemente llame su colación personalizada "NOCASE". – wqw