0

私のSQLクエリを実行した後、結果は

1.12.1
1.12.2
1.12.3
1.12.4
1.12.5
1.12.6
1.12.7
1.12.8
1.12.9
1.12.10
1.12.11
1.12.2a 

しかし、私はこの結果(「2」の後の「2a」)をしたい

1.12.1
1.12.2
1.12.2a <-- This one must be here, not at the end of the result set
1.12.3
1.12.4
1.12.5
1.12.6
1.12.7
1.12.8
1.12.9
1.12.10
1.12.11

どのようなSQLクエリでこれを行うことができますか?

これが私のクエリです... SQL Server 2012を使用しています

sResultSqlBuilder.Append(" ORDER BY {0} {1}")

ソート式 = " " の場合

sResultSql = String.Format(sResultSql, "Right('0000000000' + FirstNumber, 10),Right('0000000000' + SecondNumber, 10),Right('0000000000' + ThirdNumbersAndLetter, 10) ", " ")

4

1 に答える 1

0

試してみてください。これはMS-Sqlサーバーで機能します。

SELECT VersionNo, 
Cast(PARSENAME(VersionNo, 3)as int) as Num1, 
cast(PARSENAME(VersionNo, 2) as int) as Num2, 
cast(PARSENAME(VersionNo, 1) as nvarchar(2)) as Num3 
FROM 
(
    select '1.12.2' as VersionNo union
    select '1.12.3' as VersionNo union
    select '1.12.2a' as VersionNo union
    select '1.12.1' as VersionNo union
    select '1.12.4' as VersionNo
)x
Order by Num1, Num2, num3
于 2013-03-22T09:44:49.200 に答える