Order by ......
Tengo un 'petit' problema con el order by,
Cuando hago un: Order by departamento, familia, codigo Ordena perfectamente si todos los campos fueran cadenas pero resuta que codigo es integer...y parece que en la ordenación de varios campos quedan moldeados como string. El resultado es algo como esto BAR, LICORES, 1 BAR, LICORES, 10 BAR, LICORES, 11 .... BAR, LICORES, 19 BAR, LICORES, 2 ..... Etc... Cuando realmente quiero ver. BAR, LICORES, 1 BAR, LICORES, 2 BAR, LICORES, 3 BAR, LICORES, 4 ... BAR, LICORES, 10 He mirado cosas sobre el colation order pero no sago nada en claro, alguna idea? Un saludo. |
Hola,
cosa rara. Por si las moscas lo he comprobado (en un Firebird 1.0) y obtengo el comportamiento esperado ... Código:
bar licores 1 No se me ocurre nada ... ¿tal vez algún caracter oculto en los campos CHAR/VARCHAR? :confused: Saludos. |
Retiro lo dicho...............
Ya he encontrado el porque....... erán dos familias similares licores y licoris Gracias kinobi, por confirmarme que toca funcionar, me has puesto automaticamente sobre la pista estaba más cerrado que el bolsillo de Eliot Ness. Ahora me voy directamente a 'pegar' al cliente. Un saludo. |
Y de paso que te invite a unas copichuela!!
:D :D :D |
Pues a mí no me funciona de esa manera, estoy hecho un verdadero lío.
en una tabla con codigo varchar con los valores: 1, 11, 10, 2 el resultado de ordenar por código es 1, 10, 11, 2 Esto es, el primer comportamiento descrito por Chutipascal. Realmente no carece de lógica porque es una comparación alfabética caracter a caracter. Ahora mismo creo estar usando (tengo un verdadero jaleo con los motores que me he instalado) el motor de Interbase 6.01, no sé si es por eso. El orden que me interesa sería el que Kinobi menciona como el normal, o sea el 2 antes que el 10, y además me interesa la A mayúscula antes que la b minúscula, cosa que tampoco me ocurre. He fisgado muy someramente por la red y he encontrado un link: http://www.brookstonesystems.com/ que parece que tiene algunas collate de terceros. Aún no me ha dado tiempo a mirarlo bien. Si sabeis qué debo cambiar para obtener ese comportamiento por favor comentad la jugada. Un saludo, F.T.G. |
Cita:
Para que te lo ordene como tu quieres, deberias (si puedes) pasar el campo a numerico |
Hola,
Cita:
Para que un VARCHAR "simule" la ordenación de enteros, es necesario que añadas blancos (o algún otro caracter - siempre el mismo) por la izquierda del VARCHAR. Saludos. |
Cita:
No me es tan crucial la ordenación de números como el tema de las mayúsculas que creo que sí se podrá solucionar. Un avergonzado saludo, F.T.G. |
Hola,
Cita:
Saludos. |
La franja horaria es GMT +2. Ahora son las 01:03:29. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi