很抱歉,如果这是重复的,我觉得以前必须要求这样做,但我可能只是不知道如何正确搜索。
所以,在我存储的时候,我会收集一些信息,并且我想根据这些信息创建一个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 :(得分:1)
您要查找的表达式为CASE
(MSDN)。
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