Ordenar palabras con tilde en Base

Discute sobre las herramientas de la base de datos
Responder
Jaime55
Mensajes: 3
Registrado: Dom Nov 14, 2021 4:53 pm

Ordenar palabras con tilde en Base

Mensaje por Jaime55 »

Hola.
Tengo un problema con una base de datos. Al ordenar alfabéticamente un campo, las palabras con tilde en su primera letra se colocan al final: Alvarez va en su sitio pero Álvarez pasa al final de la lista. En otras bases que tengo no me pasa eso por lo que supongo que es alguna opción en el formato que tengo mal configurada, pero no soy capaz de saber dónde. ¿Qué estoy haciendo mal? Gracias.
Libre Office 7.1.6.2 (x64) sobre Windows 10
Longi
Mensajes: 804
Registrado: Dom Ene 20, 2013 9:05 pm
Ubicación: Ourense, Galicia, España

Re: Ordenar palabras con tilde en Base

Mensaje por Longi »

Buenas!
La verdad es que siempre me preguntaba esto, pero nunca le hincaba el diente.
Mira a ver si te vale, pero es un sQL que no se puede hacer en una consulta 'normal', habría que ejecutarla en modo SQL directo, con lo que quizá no sea de tu agrado, pero así parece que funciona:
Tengo tabla llamada "Direccións" y he seleccionado los nombres que tienen la cadena 'Luis', donde tengo varios con José y con Jose. El resultado parece que va bien:

Código: Seleccionar todo

SELECT  "Nombre" FROM "Direccions" "Direccions"  WHERE "Nombre" LIKE '%Luis%'  ORDER BY "Nombre" COLLATE "Spanish"
Un saludo! ;)
Openoffice 4.1.7, en Windows 10
Libreoffice 6.4.2, en Windows 10
Jaime55
Mensajes: 3
Registrado: Dom Nov 14, 2021 4:53 pm

Re: Ordenar palabras con tilde en Base

Mensaje por Jaime55 »

Hola.
Creo que tu respuesta supera mis escasos conocimientos. Teniendo en cuenta que mi problema aplica a todas las palabras con tilde en la primera letra (curiosamente, las tildes en letras no iniciales no afectan a la ordenación) que aparecen en el campo, no sé cómo adaptar eso que me dices.
Gracias por la respuesta y mis disculpas por mi ignorancia.
Libre Office 7.1.6.2 (x64) sobre Windows 10
Longi
Mensajes: 804
Registrado: Dom Ene 20, 2013 9:05 pm
Ubicación: Ourense, Galicia, España

Re: Ordenar palabras con tilde en Base

Mensaje por Longi »

Buenas!
OpenOffice y LibreOffice utilizan un motor de base de datos que trabaja en lenguaje SQL, después tienen un 'traductor' que hace que veamos de forma gráfica las cosas hechas en SQL, y así podemos diseñar consultas, hacer uniones entre tablas, etc, pero no deja de ser un 'traductor'.
Dicho traductor tiene ciertas limitaciones, y está desarrollado hasta un punto de dificultad a partir de la cual no te va a dar una conversión al sistema gráfico.
Esto es lo que pasa con la instrucción COLLATE, que sí que funciona en SQL pero no lo sabe transferir al sistema gráfico del asistente para hacer las consultas.
Ambas suites tienen la posiblidad de diseñar las consultas con el asistente o en formato SQL, así que si abres el panel de consulas, escoges crear consulta en modo SQL de la parte superior te saldrá un panel en blanco en el que podrás pegar el código que te he puesto, claro, que tendrás que cambiar el nombre de la tabla y el nombre del campo.
Si le das al icono de ejecutar la consulta te va a decir que hay un error en la consulta, mientras que si marcas el icono que dice "SQL" y después le das al icono de ejecutar consulta te debiera salir con los resultados.
La pena es que acabo de hacer pruebas con el motor 'oficial', es decir, con la versión HSQLDB 1.8, que seguramente es con la que estás trabajando, y la instrucción 'COLLATE' no la reconoce....Habrá que seguir investigando, pero me temo que en la instalación 'de fábrica' no va a ser muy posible.

Un saludo! ;)

PD. Acabo de testear un hilo en el foro de francés y dice exactamente eso, el motor no reconoce la opción 'COLLATE', y que habría que esperar a que se pusiese como motor la versión 2.3.0 (ahora ya se deben llegar a la 2.5 o superior). El hilo es del 2013.
Openoffice 4.1.7, en Windows 10
Libreoffice 6.4.2, en Windows 10
Jaime55
Mensajes: 3
Registrado: Dom Nov 14, 2021 4:53 pm

Re: Ordenar palabras con tilde en Base

Mensaje por Jaime55 »

Gracias por la explicación.
Lo que me resulta más curioso es que tengo tablas en bases a las que si doy ordenar alfabéticamente, las ordena sin problema, lleven o no tilde, y otra en la que me courre eso, que las que tienen tilde en la primera letra se van al final. Todas han sido creadas en el mismo pc, con la misma base, misma versión, todo. Por eso no entiendo lo que pasa y lo achacaba a algún despiste en alguna configuración. Pero no encuentro diferencias de ningún tipo.
Un saludo.
Libre Office 7.1.6.2 (x64) sobre Windows 10
Responder