Как использовать оператор LIKE внутри оператора IF? - PullRequest
3 голосов
/ 22 апреля 2010

Мне нужно иметь возможность проверить, есть ли внутри переменной определенная строка текста. Вот что у меня сейчас:

--This sample always goes to the ELSE block.
IF( @name LIKE '%John%' )
BEGIN
    --do one thing
END
ELSE
BEGIN
    --do the other thing
END

Ответы [ 2 ]

2 голосов
/ 22 апреля 2010

Незнайка ... у меня работает

declare @name varchar(45)

set @name = 'johnson'

IF( @name LIKE '%John%' )
BEGIN
    print 'like'
END
ELSE
BEGIN
    print 'dislike'
END
1 голос
/ 22 апреля 2010

Синтаксис в порядке.Если он не работает для вас, это может быть связано с сопоставлением вашей базы данных.

Если у вас есть сопоставление с учетом регистра, то оно НЕ будет соответствовать, если регистр не совпадает.например, если @name - это «Что-то, что сказал Джон», то LIKE, ищущий «Джона», не найдет совпадения, следовательно, перейдет к ELSE.

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