2015-11-30 120 views
0

对不起,如果这是一个重复的,我觉得这不得不曾被问过,但我可能只是不知道如何正确地搜索词。使用IF语句连接字符串

因此,在我的存储中,我收集了一些信息,并且我想根据此信息创建一个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,所以任何提示和技巧将有所帮助!谢谢!

+0

提示:这是有帮助的同时与相应的软件标签数据库问题(MySQL和甲骨文,DB2,... )和版本,例如'的SQL服务器2014'。语法和功能的差异往往会影响答案。 – HABO

+0

@HABO啊,gotcha'。我将牢记未来的SQL帖子! – Timmy

回答

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' 
+0

很棒!难怪我在搜索时遇到了麻烦!我只是在看IF的声明。一旦它让我接受,我会接受!谢谢! – Timmy

0

试试这个于2008年的SQLServer将工作

声明@String VARCHAR(最大);

declare @BroughtInInfo bit;

SET @String =“这是一个字符串,我想加上”

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