在存储过程中插入#

时间:2013-06-08 15:09:39

标签: sql-server sql-server-2008 stored-procedures

我正在尝试在SQL Server中的存储过程中插入#。当我写它时我有一个错误,当我删除它时,它有效,为什么?

我想写'#'的行是这样的:

INSERT INTO @Resultado VALUES ('CB'+'0596'+CAST(@aniomes AS CHAR(6))+SPACE(518)+'#')

我想把它写在最后一行。

你能帮帮我吗?

3 个答案:

答案 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?