ストアドプロシージャには次のものがあります。
DECLARE @TSQL NVARCHAR(MAX)
SET @TSQL = N'.....' Which contains about 33000 characters of text
私がするときPRINT LEN(@TSQL) 7968
は返されます。@TSQLの残りの部分が途切れるのはなぜですか?
ストアドプロシージャには次のものがあります。
DECLARE @TSQL NVARCHAR(MAX)
SET @TSQL = N'.....' Which contains about 33000 characters of text
私がするときPRINT LEN(@TSQL) 7968
は返されます。@TSQLの残りの部分が途切れるのはなぜですか?
すべてを連結するときに nvarchar(max) であることを確認してください
これを見てください
DECLARE @n NVARCHAR(MAX)
SELECT @n = REPLICATE(convert(varchar(max),'A'),300000)
select LEN(@n), DATALENGTH(@n)
GO
--300000 600000
DECLARE @n NVARCHAR(MAX)
SELECT @n = REPLICATE('A',300000)
select LEN(@n), DATALENGTH(@n)
--8000 16000