Ordenación alfanumérica

21/10/2003 - 11:34 por PaHM | Informe spam
Hola a tod@s, alguien podría decirme como ordenar
alfanuméricamente un campo nvarchar en una select??

Es que tengo números y nombres y necesito que la select me
lo de ordenado alfanuméricamente.

Gracias de antemano, ..., un saludo.

Preguntas similare

Leer las respuestas

#6 PaHM
21/10/2003 - 13:44 | Informe spam
Gracias, ya tengo la solución, voy a usar el isnumeric,
así diferencio si es numérico puro o no, un par de
cursores y a meterlo en una tabla para retornarlo.


Muchas gracias, compi, un saludo:
Paloma

Pues entonces lo que necesitas es una ordenación


numérica, no
alfanumérica...

Por otro lado, como no tengas un patrón (como te


decía antes) definido
en los valores que tienen ese campo, va a ser bastante


difícil conseguir esa
ordenación. Eso sin contar con el tiempo de respuesta en


caso de que sean
muchas filas, puesto que es muy probable que el motor no


pudiera usar ningún
índice definido para ese campo



Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)
MVP SQL Server
Por favor, responder únicamente al foro
Se agradece la inclusión de sentencias DDL

Archivo de respuestas anteriores en:
http://groups.google.com/groups?hl=...mp;ie=UTF-


8&group=microsoft.public.es
..sqlserver

(Guía de netiquette del foro)
http://www.helpdna.net/bosqlfaq00.htm
http://perso.wanadoo.es/rubenvigon/foro

(FAQ's de SQL Server)
http://support.microsoft.com/default.aspx?


scid=/support/sql/70faq.asp
http://www.helpdna.net/bosqlfaq.htm

escribió en el


mensaje
news:090b01c397c1$310cf180$
Eso es lo que necesito una ordenación alfanumérica, ya
que si tienes un 201 y un 22 te pone primero el 201 y
después el 22 y las cosas en la vida real no son así,...

Gracias,

Pero entonces no entiendo cómo pretendes ordenarlo;


además, no sé porqué
entendí que era numérico el orden que querías, pero lo


que en realidad
necesitas es alfanumérico... entonces, ¿cuál es el


problema? ¿Qué ordenación
quieres conseguir exactamente?



Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)
MVP SQL Server
Por favor, responder únicamente al foro
Se agradece la inclusión de sentencias DDL

Archivo de respuestas anteriores en:
http://groups.google.com/groups?hl=...mp;ie=UTF-


8&group=microsoft.public.es
..sqlserver

(Guía de netiquette del foro)
http://www.helpdna.net/bosqlfaq00.htm
http://perso.wanadoo.es/rubenvigon/foro

(FAQ's de SQL Server)
http://support.microsoft.com/default.aspx?


scid=/support/sql/70faq.asp
http://www.helpdna.net/bosqlfaq.htm

escribió en el


mensaje
news:0b4d01c397ba$8000c070$
Verás es un campo que lo mismo contiene una fecha, que un
nombre (Ej: El Heraldo de Aragón) que contiene una mezcla
(Ej: El Heraldo 1)

Ya he intentado convertirlo a número pero no va a poder
ser así de fácil.

Gracias,


Tendrás que convertirlo a número, pero si ese campo


contiene números y
letras sin ningún tipo de lógica, va a ser más


complicado. ¿El formato de
ese campo sigue siempre un patrón (por ejemplo, los 4


primeros caracteres
son números y el resto letras) o es totalmente






aleatorio?



Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)
MVP SQL Server
Por favor, responder únicamente al foro
Se agradece la inclusión de sentencias DDL

Archivo de respuestas anteriores en:
http://groups.google.com/groups?hl=...mp;ie=UTF-


8&group=microsoft.public.es
..sqlserver

(Guía de netiquette del foro)
http://www.helpdna.net/bosqlfaq00.htm
http://perso.wanadoo.es/rubenvigon/foro

(FAQ's de SQL Server)
http://support.microsoft.com/default.aspx?


scid=/support/sql/70faq.asp
http://www.helpdna.net/bosqlfaq.htm

"PaHM" escribió en


el mensaje
news:080d01c397b6$8ee0b900$
Hola a , alguien podría decirme como ordenar
alfanuméricamente un campo nvarchar en una select??

Es que tengo números y nombres y necesito que la select




me
lo de ordenado alfanuméricamente.

Gracias de antemano, ..., un saludo.


.





.





.

Respuesta Responder a este mensaje
#7 Mauricio Sthandier R.
22/10/2003 - 03:20 | Informe spam
nooooooooooooo cursores noooooooooooooooooo

mira una vez tuve que hacer un ordenamiento especial... eran grados de un
escalafón... partía con 'A', 'B' y terminaba con números hasta '28' o algo
así. A su vez el 'A' que era el primero podía ser 'A1', 'A2'. El orden
natural nunca funcionó, y gracias a eso descubrí que puedes hacer muchas
cosas en un ORDER BY.
Puedes ocupar CASE, puedes "pesar" los campos, puedes ordenarlo por LEN,
NEWID(), puedes mezclar todo lo anterior en un sólo ORDER BY concatenando o
con alguna operación matématica... incluso si tienes SQL Server 2000 puedes
ordenar por una función, y aunque no sé como andará de rendimiento eso si
estás pensando en cursores, pues dale un intento !


"PaHM" escribió en el mensaje
news:03e601c397c8$b5da45a0$
Gracias, ya tengo la solución, voy a usar el isnumeric,
así diferencio si es numérico puro o no, un par de
cursores y a meterlo en una tabla para retornarlo.

Muchas gracias, compi, un saludo:
Paloma
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida