SQL сравнивает две строки
Я хотел бы попросить о помощи. Я использую этот кусок кода для сравнения строковой переменной. Он всегда возвращает true и исполняет код внутри.
Пример: variable1='Andrew' .. first select должен вернуть 'A', второй select 'a'.. целое if должно вернуть False, но вместо этого вернуть true.
IF (SELECT SUBSTRING(@variable1,1,1)) = (SELECT LOWER(SUBSTRING(@variable1,1,1)))
BEGIN
...
END
1 ответ
Кажется, ваша конфигурация сопоставления чувствительна к регистру, поэтому попробуйте применить сопоставление как CS
(с учетом регистра).
declare @variable1 nvarchar = 'A'
IF (SELECT SUBSTRING(@variable1,1,1)) COLLATE Latin1_General_CS_AS = (SELECT LOWER(SUBSTRING(@variable1,1,1)))
BEGIN
print 'ok'
END