В написанном мною тестовом примере сравнение строк не работает одинаково между SQL-сервером и .NET CLR.
Этот код C #:
string lesser = "SR2-A1-10-90";
string greater = "SR2-A1-100-10";
Debug.WriteLine(string.Compare("A","B"));
Debug.WriteLine(string.Compare(lesser, greater));
выведет:
-1
1
Этот код SQL Server:
declare @lesser varchar(20);
declare @greater varchar(20);
set @lesser = 'SR2-A1-10-90';
set @greater = 'SR2-A1-100-10';
IF @lesser < @greater
SELECT 'Less Than';
ELSE
SELECT 'Greater than';
выведет:
Less Than
Почему разница?