Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-09-2017
Gregorio Cíber Gregorio Cíber is offline
Miembro
 
Registrado: jun 2008
Posts: 98
Poder: 16
Gregorio Cíber Va por buen camino
Ordenación espacio (32) en Firebird

¡Hola amigos!
He buscado en temas parecidos a este (ordenacion Firebird) y no he encontrado respuesta al problema que se me plantea.

Me ha ocurrido una situación de incorrecta ordenación en una BD (Firebird 1.5, juego de caracteres ISO8859_1, collate ES-ES) con algunas consultas. Para comprobarlo probé lo siguiente en IBExpert:

Código Delphi [-]
SELECT aa.CODIGO, aa.NOMBRE 
FROM AC_ARTICULOS aa 
WHERE (aa.ENL_EMPRESA = 1)  and (aa.NOMBRE >= 'MONO')   and (aa.NOMBRE <= 'MONOz') 
ORDER BY aa.NOMBRE ASC

Siendo el resultado el que sigue:

Cita:
CODIGO NOMBRE
64749 MONOBLOC CON FILTRO INYECTADO 25KG
20500 MONO FINO BLANCO "CORONIN" TALLA- M
20501 MONO FINO BLANCO "COROVIN" TALLA- L
20502 MONO FINO BLANCO "COROVIN" TALLA- XL
20503 MONO FINO BLANCO COROVIN " TALLA - XXL
20601 MONO GORDO BLANCO "MUTEX" TALLA- L
20600 MONO GORDO BLANCO "MUTEX" TALLA- M
20602 MONO GORDO BLANCO " MUTEX" TALLA - XL
20603 MONO GORDO BLANCO "MUTEX" TALLA - XXL
20604 MONO GORDO BLANCO "MUTEX" TALLA - XXXL
50005 MONO MEDIO BLANCO
Observen que 'MONOBLOC' (primera fila) lo pone delante de 'MONO ' (segunda fila). Es decir, pone 'B' (66) delante de ' ' (32).
¿Cuál es la explicación de esto?

Gracias anticipadas.
Responder Con Cita
  #2  
Antiguo 11-09-2017
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Ummm... ¿seguro?
Responder Con Cita
  #3  
Antiguo 11-09-2017
Gregorio Cíber Gregorio Cíber is offline
Miembro
 
Registrado: jun 2008
Posts: 98
Poder: 16
Gregorio Cíber Va por buen camino
Hombre, lo que he enviado ha sido copiado del resultado de la consulta.
La verdad es que está DB tiene años y nunca se había presentado este problema.
Responder Con Cita
  #4  
Antiguo 11-09-2017
Gregorio Cíber Gregorio Cíber is offline
Miembro
 
Registrado: jun 2008
Posts: 98
Poder: 16
Gregorio Cíber Va por buen camino
Por cierto, gracias por responder.
Responder Con Cita
  #5  
Antiguo 11-09-2017
orodriguezca orodriguezca is offline
Miembro
 
Registrado: ene 2009
Posts: 221
Poder: 16
orodriguezca Va por buen camino
Muy, muy extraño. Por favor, verifica que los espacios en blanco en "MONO FINO BLANCO" sean realmente espacios en blanco (ascii 32), quizás nos llevemos una sorpresa y sean algún otro carácter.
Responder Con Cita
  #6  
Antiguo 11-09-2017
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por Gregorio Cíber Ver Mensaje
La verdad es que está DB tiene años y nunca se había presentado este problema.
Por eso mismo lo pregunto, porque no puede ser.
Cita:
Empezado por orodriguezca Ver Mensaje
Muy, muy extraño. Por favor, verifica que los espacios en blanco en "MONO FINO BLANCO" sean realmente espacios en blanco (ascii 32), quizás nos llevemos una sorpresa y sean algún otro carácter.
Por ejemplo, puede ser eso también.
Responder Con Cita
  #7  
Antiguo 11-09-2017
balger balger is offline
Miembro
 
Registrado: may 2011
Posts: 30
Poder: 0
balger Va por buen camino
Adiero a lo que dice orodriguezca. O Tengas algun caracter no visible en MONOBLOC. Si es asi reingresando el dato de debe arreglar. Otra cosa que podes hacer es volver a generar el indice.
Si todo lo anterior falla siempre esta el backup/restore.
Tambien te sugiero que migres a 2.5 como minimo. Es mucho mas estable.
Responder Con Cita
  #8  
Antiguo 11-09-2017
Gregorio Cíber Gregorio Cíber is offline
Miembro
 
Registrado: jun 2008
Posts: 98
Poder: 16
Gregorio Cíber Va por buen camino
Gracias blager, estoy en ello. Pienso migrarla BD a 3.0, pero primero debo solucionar este problema.

Mirad, esto es lo que presenta el rograma Delphi. Como podéis ver está ordenado, ya que el componente de la tabla se encarga de ello y los caracteres 'espacio' son efectivamente ASCII 32. El problema está en el select:

Cita:
MONO FINO BLANCO "CORONIN" TALLA- M
77 79 78 79 32 70 73 78 79 32 66 76 65 78 67 79 32 34 67 79 82 79 78 73 78 34 32 84 65 76 76 65 45 32 77
MONO FINO BLANCO "COROVIN" TALLA- L
77 79 78 79 32 70 73 78 79 32 66 76 65 78 67 79 32 34 67 79 82 79 86 73 78 34 32 84 65 76 76 65 45 32 76
MONO FINO BLANCO "COROVIN" TALLA- XL
77 79 78 79 32 70 73 78 79 32 66 76 65 78 67 79 32 34 67 79 82 79 86 73 78 34 32 84 65 76 76 65 45 32 88 76
MONO FINO BLANCO COROVIN " TALLA - XXL
77 79 78 79 32 70 73 78 79 32 32 66 76 65 78 67 79 32 67 79 82 79 86 73 78 32 34 32 84 65 76 76 65 32 45 32 88 88 76
MONO GORDO BLANCO "MUTEX" TALLA- M
77 79 78 79 32 71 79 82 68 79 32 66 76 65 78 67 79 32 34 77 85 84 69 88 34 32 84 65 76 76 65 45 32 77
MONO GORDO BLANCO "MUTEX" TALLA- L
77 79 78 79 32 71 79 82 68 79 32 66 76 65 78 67 79 32 34 77 85 84 69 88 34 32 84 65 76 76 65 45 32 76
MONO GORDO BLANCO " MUTEX" TALLA - XL
77 79 78 79 32 71 79 82 68 79 32 66 76 65 78 67 79 32 34 32 77 85 84 69 88 34 32 84 65 76 76 65 32 45 32 88 76
MONO GORDO BLANCO "MUTEX" TALLA - XXL
77 79 78 79 32 71 79 82 68 79 32 66 76 65 78 67 79 32 34 77 85 84 69 88 34 32 84 65 76 76 65 32 45 32 88 88 76
MONO GORDO BLANCO "MUTEX" TALLA - XXXL
77 79 78 79 32 71 79 82 68 79 32 66 76 65 78 67 79 32 34 77 85 84 69 88 34 32 84 65 76 76 65 32 45 32 88 88 88 76
MONO MEDIO BLANCO
77 79 78 79 32 77 69 68 73 79 32 66 76 65 78 67 79
MONOBLOC CON FILTRO INYECTADO 25KG
77 79 78 79 66 76 79 67 32 67 79 78 32 70 73 76 84 82 79 32 73 78 89 69 67 84 65 68 79 32 50 53 75 71
En fin, voy a hacer backup/restore a ver qué pasa.

Gracias.
Responder Con Cita
  #9  
Antiguo 11-09-2017
balger balger is offline
Miembro
 
Registrado: may 2011
Posts: 30
Poder: 0
balger Va por buen camino
Thumbs up

Siempre te conviene probar los Querys fuera del entorno con un administrador de DB.
Suerte.
Responder Con Cita
  #10  
Antiguo 11-09-2017
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por balger Ver Mensaje
Siempre te conviene probar los Querys fuera del entorno con un administrador de DB.
Suerte.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Ordenacion de una UNION emeritos SQL 2 22-03-2010 13:37:13
ordenacion arrays halizia PHP 7 07-02-2007 11:47:03
Ordenación Interbase AlejandroSN Firebird e Interbase 2 26-09-2006 13:36:49
Ordenación alfabetica en FireBird walace_soy Firebird e Interbase 5 07-05-2005 19:28:29
Ordenacion tabla jfloro OOP 1 03-09-2003 03:08:51


La franja horaria es GMT +2. Ahora son las 01:44:42.


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
Copyright 1996-2007 Club Delphi