我怎样才能知道,如果一个VARCHAR变量包含的子?(How can I tell if a VAR

2019-07-31 08:56发布

我认为这是CONTAINS ,但是这不是为我工作。

我要做到这一点:

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

我要运行一个select或另一个,这取决于变量是否包含一个字符串,我无法弄清楚如何得到它的工作。 所有的例子我看到正在使用的列在含有。

提前致谢。

Answer 1:

标准SQL的方法是使用这样的:

where @stringVar like '%thisstring%'

这是一个查询语句。 你也可以这样做在TSQL:

if @stringVar like '%thisstring%'


Answer 2:

而不是LIKE (其中不工作的其他评论者建议),您也可以使用CHARINDEX

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


Answer 3:

CONTAINS是一个全文索引字段-如果没有,则使用LIKE



Answer 4:

    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.


文章来源: How can I tell if a VARCHAR variable contains a substring?