如何判断一个VARCHARvariables是否包含一个子string?

我以为是CONTAINS,但这不适合我。 我正在寻找这样做:

IF CONTAINS(@stringVar, 'thisstring') ... 

我必须运行一个select或另一个,取决于是否该variables包含一个string,我不知道如何让它的工作。 我看到的所有例子都是使用包含的列。

提前致谢。

标准的SQL方法是使用像:

 where @stringVar like '%thisstring%' 

这是在查询语句。 您也可以在TSQL中执行此操作:

 if @stringVar like '%thisstring%' 

而不是LIKE (可以像其他评论者所build议的那样工作),您可以使用CHARINDEX

 declare @full varchar(100) = 'abcdefg' declare @find varchar(100) = 'cde' if (charindex(@find, @full) > 0) print 'exists' 

CONTAINS用于全文索引字段 – 如果不是,则使用LIKE

  IF CHARINDEX('TextToSearch',@TextWhereISearch, 0) > 0 => TEXT EXISTS IF PATINDEX('TextToSearch', @TextWhereISearch) > 0 => TEXT EXISTS Additionally we can also use LIKE but I usually don't use LIKE.