Найти точное вхождение подстроки в строку SQL SERVER 2008 - PullRequest
0 голосов
/ 01 марта 2012

Я хочу знать, как мы можем найти точное вхождение подстроки в строку. Чтобы быть более точным, в строке есть слова, разделенные запятыми, и я хочу знать, существует ли слово точно или нет.

Допустим, у нас есть что-то вроде этого:

DECLARE @VisitedWebParts nvarchar(255)

 SET @VisitedWebParts =  'MyNavContacts,MyNavUpcomingMaturities,MyNavActivitySummary,MyNavCompanies,CompanyNavBidHistory,CompanyNav'

Как мне найти, скажем, существует ли в строке «CompanyNav». Использование Like или CharIndex может не помочь и исправить меня, если я ошибаюсь, потому что это также ложно говорит, что CompanyNav будет существовать, если CompanyNav на самом деле не существует, а CompanyNavBidHis существует. Вы понимаете, о чем я!

Заранее спасибо за идеи и предложения!

1 Ответ

1 голос
/ 01 марта 2012

Ключ должен убедиться, что вы также учитываете запятые по обе стороны строки.Это означает, что вам нужно сравнить строку, заключенную в запятую, с вводом, заключенным в запятую.

IF CHARINDEX(',CompanyNav,', ',' + @VisitedWebParts + ',') > 0
BEGIN
  PRINT 'It exists!'
END
ELSE
BEGIN
  PRINT 'It does not exist!'
END
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...