SQL - Indice con campo de tipo char

 
Vista:

Indice con campo de tipo char

Publicado por Beatriz (42 intervenciones) el 14/08/2008 22:39:05
Hola amigos expertos, he creado en una tabla de sql un indice de tipo char, para ir almacenando un correlativo, la cuestion es que los necesito tener ordenados por el correlativo 1,2,3,.....9,10,11, pero la custion es que por ser de tipo char el ordenamiento en la tabla es de la siguiente manera: 1,10,2,3,4,5,6,7,8...etc.....como hago para ordenar una columna en sql siendo de tipo char, poder ordenarlos como si fueran numero??habra alguna funcion para extraer el valor de dicho campo de tipo char???
muy agradecida
atte Beatriz
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Indice con campo de tipo char

Publicado por pacopaz (143 intervenciones) el 14/08/2008 23:33:44
No se me hace una de las mejores ideas hacer eso, pero quien soy yo para criticar?
Cuando hagas tu query, lo que tienes que poner en el ordenamiento es algo como esto:

order by cast(rtrim([Campo]) as int)

Donde
[Campo] es el campo tipo char que quieres ordenar como si fuera número.
Con esto, se hace la conversión y sobre eso es que lo ordena.

Espero que te sirva.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Indice con campo de tipo char

Publicado por Beatriz (42 intervenciones) el 14/08/2008 23:57:03
Hola Paco¡¡¡¡¡¡¡¡de nuevo visitando tu foro¡¡¡¡gracias, mira y entonces no me saldria mejor definir este campo de tipo int????
gracias , que me recomiendas¡¡¡¡s.o.s
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Indice con campo de tipo char

Publicado por pacopaz (143 intervenciones) el 15/08/2008 00:27:22
Hola Betty,
Pues tanto como que sea mio el foro, pues como que no. En todo caso, es tuyo tambien ;-)
Lo recomendable, siempre, es que si vas a poner números, pues que sean números, por que, obviamente, perderás rendimiento al manejar los datos, no al cargar o al editar, por que la conversión de un solo dato en computadoras que hacen varios millones de operaciones a la vez, en es imperceptible, pero cuando los datos sean suficientes, los ordenamientos o las búsquedas serán más lentos.
La verdad es que no se cual sea la estrategia de tu bd que te pide que los datos sean tipo char, pero creo que puedes evitarte fácilmente usar caracteres para almacenar números.
Y este caso, como quiera, el problema es cuando la gente se anima a almacenar fechas tipo como tipo char, disque para evitarse almacenar la hora. Normalmente terminan por quemarse el coco tratando de entender por que 12/01/2006 entra en una consulta de 10/10/2007 y hasta 20/10/2007.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Indice con campo de tipo char

Publicado por Beatriz (42 intervenciones) el 15/08/2008 15:30:28
Muchas gracias Paquito chulo¡¡¡me hiciste reir muy temprano que las primeras lineas¡¡¡Bueno...ya entendi la mejor opción¡¡¡mil gracias...y de nuevo es excelente contar con el apoyo de alguien con mas experiencia¡¡¡
mil gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar