SQL 2005 nvarchar (max) проблема - PullRequest
       16

SQL 2005 nvarchar (max) проблема

1 голос
/ 14 декабря 2010

У меня есть следующее в хранимой процедуре:

DECLARE @TSQL NVARCHAR(MAX)

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

Когда я делаю, возвращается PRINT LEN(@TSQL) 7968.Почему остальная часть @TSQL обрезана?

1 Ответ

3 голосов
/ 14 декабря 2010

Убедитесь, что при конкатенации все является 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

...