我正在尝试在SQL Server中的存储过程中插入#。当我写它时我有一个错误,当我删除它时,它有效,为什么?
我想写'#'的行是这样的:
INSERT INTO @Resultado VALUES ('CB'+'0596'+CAST(@aniomes AS CHAR(6))+SPACE(518)+'#')
我想把它写在最后一行。
你能帮帮我吗?
答案 0 :(得分:1)
请改用insert . . . select
方法:
INSERT INTO @Resultado
select 'CB'+'0596'+CAST(@aniomes AS CHAR(6))+SPACE(518)
最好始终列出表insert
的列,即使只有一列。
答案 1 :(得分:0)
将#(35)用于#
INSERT INTO @Resultado VALUES ('CB'+'0596'+CAST(@aniomes AS CHAR(6))+SPACE(518)+char(35))
答案 2 :(得分:0)
我似乎无法重现错误...这很好用:
DECLARE @Resultado TABLE(
test varchar(5000)
)
INSERT INTO @Resultado VALUES ('CB'+'0596'+CAST('123456' AS CHAR(6))+SPACE(518)+'#')
select * from @Resultado
难道你没能在518个空格之前发现#?或者列可能不可为空且变量@aniomes是NULL?