当前在SP中,我们在临时表中创建了一些列,这些列默认情况下使用下面的第一个SET语句设置为0,但是我现在需要将这些列设置为空字符串值而不是null:< / p>
SET @columns = @columns + ',' + CHAR(13) + CHAR(10) + ' [' + cast((@i+1) as nvarchar) + '] int Default 0' SET @i = @i + 1;
我尝试使用此解决方案:
SET @columns = @columns + ',' + CHAR(13) + CHAR(10) + ' [' + cast((@i+1) as nvarchar) + '] nvarchar Default []' SET @i = @i+1;
但是当我创建ALTER语句时:
Alter TABLE #Survivaltmp Add ' + STUFF(@columns, 1, 1, '') + ''
添加带有填充此变量的列的列,我收到此错误:
缺少对象或列名称。对于Select Into语句,请验证每一列都有一个名称。
我的问题是,有什么方法可以将空字符串值添加到列?任何帮助/方向将不胜感激。谢谢。
答案 0 :(得分:1)
字符串用单引号引起来,而不用方括号括起来,它们用于标识。
尝试:
... + '] nvarchar Default ''''' ...