我想知道如何找到字符串中子字符串的确切出现。更具体地说,字符串有逗号分隔的单词,我想知道单词是否存在。
假设我们有这样的事情:
DECLARE @VisitedWebParts nvarchar(255)
SET @VisitedWebParts = 'MyNavContacts,MyNavUpcomingMaturities,MyNavActivitySummary,MyNavCompanies,CompanyNavBidHistory,CompanyNav'
我如何找到如果'CompanyNav'存在于字符串中的话。如果我错了,使用Like或CharIndex可能无法帮助并纠正我,因为如果CompanyNav实际上不存在且CompanyNavBidHis存在,那么也会错误地说CompanyNav会存在。你知道我的意思!
提前感谢您的想法和建议!
答案 0 :(得分:1)
关键是要确保你也考虑字符串两侧的逗号。这意味着您需要将逗号包围的字符串与逗号包围的输入进行比较。
IF CHARINDEX(',CompanyNav,', ',' + @VisitedWebParts + ',') > 0
BEGIN
PRINT 'It exists!'
END
ELSE
BEGIN
PRINT 'It does not exist!'
END