2015-11-30 160 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