使用IF语句连接字符串

时间:2015-11-30 13:26:23

标签: tsql stored-procedures

很抱歉,如果这是重复的,我觉得以前必须要求这样做,但我可能只是不知道如何正确搜索。

所以,在我存储的时候,我会收集一些信息,并且我想根据这些信息创建一个varchar字符串。可以说我有这三个变量。

@String varchar(MAX) = '',
@BroughtInInfo bit

现在我有类似下面的内容

SET @String = 'Here is a string and I want to add'
    IF @BroughtInInfo = 1
    BEGIN  
      +'This info'+
    END
    ELSE
      +'That info'+
'Then more stuff here after conditional statement'

现在,我在+附近遇到了语法错误我尝试了很多组合,在条件语句周围移动加号,但它并不好玩。

我对SQL很陌生,所以任何提示和技巧都会有所帮助!谢谢!

2 个答案:

答案 0 :(得分:1)

您要查找的表达式为CASEMSDN)。

SET @String = 'Here is a string and I want to add' + 
    CASE WHEN @BroughtInInfo = 1 
        THEN 'This info'
        ELSE 'That info'
    END
    + 'Then more stuff here after conditional statement'

答案 1 :(得分:0)

在SQLServer 2008上尝试使用它

  

声明@String varchar(max);

     

声明@BroughtInInfo位;

     

SET @String ='这是一个字符串,我想添加'

IF @BroughtInInfo = 1
BEGIN  
SET @String +='This info'
END
ELSE
  SET @String +='This info'   select @String