В тестовом примере, который я написал, сравнение строк не работает одинаково между SQL Server/.NET CLR.
Этот код С#:
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
Почему разница?