SQL Server のストアド プロシージャに # を挿入しようとしています。書いたときに間違いがあり、削除すると機能するのはなぜですか?.
「#」を書きたい行は次のとおりです。
INSERT INTO @Resultado VALUES ('CB'+'0596'+CAST(@aniomes AS CHAR(6))+SPACE(518)+'#')
そして最後に書きたいと思います。
私たちを手伝ってくれますか?
SQL Server のストアド プロシージャに # を挿入しようとしています。書いたときに間違いがあり、削除すると機能するのはなぜですか?.
「#」を書きたい行は次のとおりです。
INSERT INTO @Resultado VALUES ('CB'+'0596'+CAST(@aniomes AS CHAR(6))+SPACE(518)+'#')
そして最後に書きたいと思います。
私たちを手伝ってくれますか?
insert . . . select
代わりに次のメソッドを使用してください。
INSERT INTO @Resultado
select 'CB'+'0596'+CAST(@aniomes AS CHAR(6))+SPACE(518)
また、テーブルに列insert
が 1 つしかない場合でも、その列を常にリストすることをお勧めします。
# には char(35) を使用
INSERT INTO @Resultado VALUES ('CB'+'0596'+CAST(@aniomes AS CHAR(6))+SPACE(518)+char(35))
エラーを再現できないようです...これはうまくいきました:
DECLARE @Resultado TABLE(
test varchar(5000)
)
INSERT INTO @Resultado VALUES ('CB'+'0596'+CAST('123456' AS CHAR(6))+SPACE(518)+'#')
select * from @Resultado
518 スペースの前の # を見つけられなかったのでしょうか? それとも、列が null 不可で、変数 @aniomes が NULL だったのでしょうか?