1

我在存储过程中有以下内容:

DECLARE @TSQL NVARCHAR(MAX)

SET @TSQL = N'.....' Which contains about 33000 characters of text

当我做一个PRINT LEN(@TSQL) 7968返回。为什么@TSQL 的其余部分被切断了?

4

1 回答 1

3

确保在连接所有内容时都是 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

于 2010-12-14T10:46:53.833 回答