SQL 2005 nvarchar(max)问题

时间:2010-12-14 10:38:48

标签: sql-server-2005 stored-procedures nvarchar

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

DECLARE @TSQL NVARCHAR(MAX)

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

当我这样做时,会返回PRINT LEN(@TSQL) 7968。为什么@TSQL的其余部分被切断了?

1 个答案:

答案 0 :(得分: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