我以为是CONTAINS
,但这对我不起作用。
我正在寻找这样做:
IF CONTAINS(@stringVar, 'thisstring')
...
我必须运行一个select
或另一个,具体取决于该变量是否包含字符串,我不知道如何让它工作。我看到的所有示例都使用包含中的列。
提前致谢。
我以为是CONTAINS
,但这对我不起作用。
我正在寻找这样做:
IF CONTAINS(@stringVar, 'thisstring')
...
我必须运行一个select
或另一个,具体取决于该变量是否包含字符串,我不知道如何让它工作。我看到的所有示例都使用包含中的列。
提前致谢。
标准的 SQL 方法是使用如下:
where @stringVar like '%thisstring%'
那是在查询语句中。您也可以在 TSQL 中执行此操作:
if @stringVar like '%thisstring%'
而不是LIKE
(正如其他评论者所建议的那样),您可以选择使用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.