3

SMO の Collat​​ionInfo.Comparer を使用して、C# コードを SQL Server のように並べ替えようとしています。正しい照合が行われましたが、アイテムがまだ正しく並べ替えられません。

var collationInfo = CollationInfo.Collations.Single(x => x.Name == "SQL_Latin1_General_CP1_CS_AS") as CollationInfo;
var comparer = collationInfo.Comparer;

int c = comparer.Compare("Tri-Valley L", "Trimble L");

この場合、c は「1」を返し、Trimble の後に Tri-Valley L が来ることを示します。

ただし、SQL Server のこのコード

DECLARE @T TABLE
(
    Name VARCHAR(20)
)

INSERT INTO @T
(
    Name
)
VALUES('Tri-Valley L'),
    ('Trimble L')

SELECT
Name
FROM
@T
ORDER BY Name

Trimble の前に Tri-Valley を返します。

照合比較が正しく機能しないだけですか、それとも何か間違っていますか?

4

1 に答える 1