declare @a nvarchar(4000),@i int
set @i=0
set @a=N''
while @i<4000
begin
  set @a=@a+N'大'
  set @i=@i+1
end
print len(@a) ---输出为4000

解决方案 »

  1.   

    可能你
    print @a在查询分析器里只会显示160多个汉字,但实际上是存了4000个的你不但可以用len函数查看长度来验证,还可以用charindex等函数来验证如:
    declare @a nvarchar(4000),@i int
    set @i=0
    set @a=N''
    while @i<3999
    begin
      set @a=@a+N'大'
      set @i=@i+1
    end
    set @a=@a+N'力'
    print charindex('力',@a)
    print len(@a)
      

  2.   

    你是用的BDE连的吧,可能你的连接工具有问题,换别的试试