Интересно, могут ли гениев SQL среди нас оказать мне руку помощи.
У меня есть столбец VersionNo
в таблице Versions
, который содержит значения номера версии, такие как
VersionNo
---------
1.2.3.1
1.10.3.1
1.4.7.2
и др.
Я ищу, чтобы отсортировать это, но, к сожалению, когда я делаю стандартный order by
, он рассматривается как строка, поэтому порядок выводится как
VersionNo
---------
1.10.3.1
1.2.3.1
1.4.7.2
Интегрировано следующее, что я и делаю после:
VersionNo
---------
1.2.3.1
1.4.7.2
1.10.3.1
Итак, мне нужно выполнить сортировку по номерам в обратном порядке (например, в a.b.c.d, мне нужно отсортировать по d, c, b, a, чтобы получить правильный сортировщик).
Но я зациклен на том, как это сделать GENERIC. Конечно, я могу разбить строку с помощью различных функций sql (например, left
, right
, substring
, len
, charindex
)), но я не могу гарантировать, что всегда будет 4 части номер версии. У меня может быть такой список:
VersionNo
---------
1.2.3.1
1.3
1.4.7.2
1.7.1
1.10.3.1
1.16.8.0.1
Может, у кого-нибудь есть предложения? Ваша помощь будет высоко оценена.