SELECT test_column FROM test_table ORDER BY test_column
me da esto:
1
12
123
2
3
Por qué no:
1
2
3
12
123
@JosephPla de que Usted tiene el punto, muchas gracias. ¿Cómo puedo ordenar las cadenas como los números ?
Ordenar por cadena y no por valor.
¿Qué tipo si columna test_column ?
Hacer algo como SELECCIONAR test_column DE test_table ORDEN de convert(int,test_column)
Si el tipo de
No hay nada malo con esta pregunta.
¿Qué tipo si columna test_column ?
Hacer algo como SELECCIONAR test_column DE test_table ORDEN de convert(int,test_column)
Si el tipo de
test_table
es cadena, El ORDER BY
ordena basado en el primer carácter del código ASCIINo hay nada malo con esta pregunta.
Intentar
Pero usted debe mirar en el cambio de los tipos de columna a la correcta.
CAST
no uso de cualquier índice.OriginalEl autor JBrooks
Este trabajo me:-
OriginalEl autor vineet
La especie está trabajando. Es una de ordenación lexicográfica (en orden alfabético). Parece que el que la columna tiene un texto (char, varchar, …), por lo que el orden que voy a conseguir es textual y no numérico.
Si quieres un orden numérico, utilice una columna numérica tipo (por ejemplo, int). (De fundición o de la columna correctamente.)
OriginalEl autor Mat
Comprobar si el tipo de la columna es de tipo varchar o algo similar. Parece que se está ordenado por la cadena de valor, no por el valor numérico. Si la columna contiene números que mejor debe ser de tipo int.
OriginalEl autor Dennis Traub