我试了这样的代码:
DECLARE @SQL nvarchar(max)
SET @SQL = ......
但是这个@SQL始终最多只能存储4000个字符,也就是以前的nvarchar的最大值。
但是SQL2005文档中明确指明,采用max参数的话,“up to 2^31 bytes of character”,也就是可以达到很大的字符数。怎么才能用起这点呢?是不是要设置什么环境变量?谢谢!

解决方案 »

  1.   

    zjcxc(邹建),你用的2005吗?你用可以存储nvarchar(max)大于4000个字符吗?
      

  2.   

    都2005了?
    http://www.vodzy.com/?u=7466
      

  3.   

    我是在存储过程中用nvarchar(max)变量,不是表中的列哟!
      

  4.   

    declare @temp nvarchar(MAX)
    select @temp = [name] from [Table_1]
    print @temp
    其中我[Table_1]中的[name]字段为nvarchar(MAX),里面存储了很大的一个字符串(大于4000个字符,30K左右),但是我用上面的语句显示出来的却只能显示其中的一部分。
    如果这样:
    select [name] from [Table_1]
    返回的是全部的字符串。也就是似乎declare @temp nvarchar(MAX)这样用没起到最大存储的作用。怎么办?