私はこのSQLに相当するC#を見つけようとしています:
@var1 = "1a1"
@var2 = "1F"
CONVERT(varbinary, @var1) > CONVERT(varbinary, @var2)
これと同じですか?
if (var1.CompareTo(var2) > 0)
{
}
そうでない場合、どうすればそれをシミュレートできますか?
varbinaryへの変換は、おそらく大文字と小文字を区別する比較を強制するためです。それが唯一の懸念事項である場合、はい、2つのステートメントは同等です。
デフォルトの文字列比較では大文字と小文字が区別されます。ただし、デフォルトの文字列比較では現在のカルチャ情報が使用され、カルチャによっては一部の文字列の処理が異なる場合があります。これがアプリケーションの懸念事項である場合は、代わりに序数比較を使用できます。これにより、varbinaryキャストとまったく同じ結果が得られます。
if (String.Compare(var1, var2, StringComparison.Ordinal) > 0)
{
}