Consulta sobre Index

Post Reply
User avatar
Armando
Posts: 2479
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México
Contact:

Consulta sobre Index

Post by Armando »

Amigos del foro:

Nuevamente acudo a ustedes pues no encuentro la respuesta.

En los MainFrame como AS/400 al ordenar por un campo
alfanumerico quedan de la siguiente forma:

2A261
2F5010
244910
246110

Peroooooo en FW los mismos artículos al crear un índice quedan así

244910
246110
2A261
2F5010

En el primer caso las letras de la segunda columna van antes
que los dígitos pero en FW el caso es al reves, los dígitos van antes que las letras.

Existe alguna función para que el índice me quede exactamente
igual que el MainFrame ??

Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
User avatar
jlcapel
Posts: 229
Joined: Wed Oct 12, 2005 5:32 pm
Location: Valencia - España
Contact:

Post by jlcapel »

Armando,

Por lo que veo, están en orden descendiente. Añade DESCEND( clave ) en tu índice.

Saludos,
José Luis Capel
www.capelblog.com
User avatar
Armando
Posts: 2479
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México
Contact:

Post by Armando »

José Luis:

Te agrdezco infinitamente el consejo pero, si miras nuevamente
veras que no, no estan en orden decreciente.

244910
246110
2A261
2F5010

Sin embargo he probado según tu consejo y tampoco funciona.

Un abrazo, Armando
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
User avatar
jlcapel
Posts: 229
Joined: Wed Oct 12, 2005 5:32 pm
Location: Valencia - España
Contact:

Post by jlcapel »

Armando,


Ups... cierto.. me fijé en la columna de abajo en vez de la de arriba.



Saludos,
José Luis Capel
User avatar
fgondi
Posts: 636
Joined: Fri Oct 07, 2005 6:58 am
Location: Palencia, España
Contact:

Post by fgondi »

Hola,

Que yo sepa no existe ninguna forma, pero por una razón lógica, FW lo esta acciendo correctamente. Es en los Mainframe donde el orden es incorrecto.

Al ordenar un campo alfanumérico el orden tiene que ir de izquierda a derecha según su código ascii, por eso lo ordena de esa forma:
24...
24...
2A..
2F...

Lo considero que no debe hacer es o bien tener en cuenta las longitudes de las cadenas, o bien ordenar antes letras que números

Puedes grabarlos justificandolos a la derecha, pero quedara:

Code: Select all

 2A261 
244910 
246110 
2F5010
Un saludo
Fernando González Diez
ALSIS GHE Sistemas Informáticos
User avatar
pymsoft
Posts: 383
Joined: Tue Oct 11, 2005 1:01 pm
Location: Savona - Italia
Contact:

Post by pymsoft »

Armando: prueba a hacer el indice en este modo:
INDEX ON PADL( ALLTRIM( tucampo ), 6) TO tu_indice......

Seguramente lo ordena en el modo que quieres.

2A261
2F5010
244910
246110
Pedro Gonzalez
Post Reply