我在想我們之間的SQL天才能否幫助我。如何對「版本號」列一般使用SQL Server查詢進行排序
我有一個表Versions
包含像
VersionNo
---------
1.2.3.1
1.10.3.1
1.4.7.2
等
我期待解決這「版本號」值的列VersionNo
,但不幸的是,當我做一個標準的order by
,它被視爲一個字符串,所以訂單出來作爲
VersionNo
---------
1.10.3.1
1.2.3.1
1.4.7.2
Intead下面,這是wha T I是後:
VersionNo
---------
1.2.3.1
1.4.7.2
1.10.3.1
所以,我需要做的是通過以相反的順序號排序(例如在a.b.c.d中,我需要按d,c,b,a進行排序以得到正確的排序工具)。
但我堅持如何以通用的方式實現這一點。當然,我可以使用各種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
可以,有沒有人有任何建議?您的幫助將不勝感激。
在最後一種情況,你想如何排序,因爲你沒有4件東西可以排序? – gbn 2010-08-13 07:50:46
看來。那是我的問題,如果它被修復了,那將是一件輕而易舉的事。 – 2010-08-13 07:54:12