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
Другие вопросы по тегам