1

私は明白なことを試しましたselect min(version) from tが、エンジンが文字列「1.12.0.0」が「1.2.0.0」よりも小さいと見なすため(そして当然のことながら)、バージョン番号に関しては明らかにそうではありません。 .

4 つの数値を (計算された列またはビューを使用して) 動的に簡単に分割できることを知っています。select top 1 row from myview order by a asc, b asc, c asc, d asc

...しかし、これを達成するためのより簡単な方法があるかどうか知りたいと思っていました

4

1 に答える 1

3

バージョン番号にドットで区切られた最大 4 つの数字が含まれている場合、parsename関数を悪用できます。

select  top 1 *
from    Versions
order by
        cast(parsename(Version, 4) as int)
,       cast(parsename(Version, 3) as int)
,       cast(parsename(Version, 2) as int)
,       cast(parsename(Version, 1) as int)

SQL Fiddle での実例。

于 2012-12-14T10:09:52.257 に答える