эквивалент теста двоичного относительного значения SQL в C # - PullRequest
1 голос
/ 22 января 2010

Я пытаюсь выяснить эквивалент C # для этого SQL:

@var1 = "1a1"
@var2 = "1F"
CONVERT(varbinary, @var1) > CONVERT(varbinary, @var2)

Это так же, как это?

if (var1.CompareTo(var2) > 0)
{

}

Если нет, то как мне его смоделировать?

1 Ответ

0 голосов
/ 22 января 2010

Преобразование в varbinary предположительно для принудительного сравнения с учетом регистра. Если это единственная проблема, то да, эти два утверждения эквивалентны.

При сравнении строк по умолчанию учитывается регистр. Однако сравнение строк по умолчанию будет использовать текущую информацию о культуре и может обрабатывать некоторые строки по-разному в зависимости от культуры. Если это относится к вашему приложению, вы можете вместо этого использовать порядковое сравнение, которое даст те же результаты, что и при обработке varbinary.

if (String.Compare(var1, var2, StringComparison.Ordinal) > 0)
{

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...