sql server:如果条件字符串包含另一个字符串

时间:2017-10-10 14:58:07

标签: sql-server sql-server-2012

以下是我现在使用的代码:

if not ( CHARINDEX(@newTblPrefix,@fname) > 0)
    BEGIN
        exec [DBS].[dbo].[form_drop]  @fname
    END

我想在@fname中不包含@newTblPrefix时运行sp。但这不起作用。有什么建议吗?

如果我传递这些值,sp将被执行,而它不应该

fname:form.EEN_CMS
newTblPrefix:WBC

2 个答案:

答案 0 :(得分:0)

IF
(@fName NOT LIKE '%' + @newTblPrefix + '%')

exec [DBS].[dbo].[form_drop]  @fname

答案 1 :(得分:0)

这几乎是双重否定。如果表达式结果为0,那么您尝试说IF NOT (0),我认为这不能正确翻译。

更新我的条件是OP想要的条件。

试试这个。

Declare @fname varchar(20) = 'form.EEN_CMS'
, @newTblPrefix varchar(20) = 'WBC'


if  CHARINDEX(@newTblPrefix,@fname) = 0
    BEGIN
        Select @fname
    END
Else
    Select 'Found'