Me pregunto si los genios SQL entre nosotros podrían echarnos una mano.Cómo puedo ordenar una columna de 'Número de versión' genéricamente usando una consulta de SQL Server
tengo una columna en una tabla VersionNo
Versions
que contiene los valores de los números de versión "como
VersionNo
---------
1.2.3.1
1.10.3.1
1.4.7.2
etc.
Busco para solucionar esto, pero, por desgracia, cuando hago un estándar order by
, se trata como una cadena, por lo que el fin sale como
VersionNo
---------
1.10.3.1
1.2.3.1
1.4.7.2
Intead de los siguientes, que es wha t yo después:
VersionNo
---------
1.2.3.1
1.4.7.2
1.10.3.1
Por lo tanto, lo que tengo que hacer es ordenar los números en orden inverso (por ejemplo, en a.b.c.d, necesito ordenar por d, c, b, a para obtener la respuesta correcta).
Pero estoy atascado en cuanto a cómo lograr esto de una manera GENÉRICA. Claro, puedo dividir la cadena utilizando varias funciones sql (por ejemplo, left
, right
, substring
, len
, charindex
), pero no puedo garantizar que siempre haya 4 partes para el número de versión. Puedo tener una lista como esta:
VersionNo
---------
1.2.3.1
1.3
1.4.7.2
1.7.1
1.10.3.1
1.16.8.0.1
Can, ¿alguien tiene alguna sugerencia? Su ayuda sería muy apreciada.
En este último caso , ¿cómo lo quiere ordenado dado que no tiene 4 cosas para ordenar? – gbn
Como parece. Ese es mi problema, si se solucionara sería una brisa. –