正如其他人已经提到的那样,您可以轻松地将 20000 个字符存储在 nvarchar(max) 中。转换这些类型时,您可能做错了什么。
这是一个从 nvarchar(max) 转换为 nvarchar(max) 的示例,它清楚地显示了如何在其中存储 20000 个字符。
DECLARE @v1 nvarchar(max)
DECLARE @v2 nvarchar(max)
create table #textExample
(
id int,
t1 ntext
)
declare @count int
set @v1 = ''
SET @count = 0
while @count < 20000
begin
set @v1 = @v1 + '1'
set @count = @count + 1
end
--converting nvarchar(max) to ntext
insert into #textExample
values (1, CONVERT(ntext,@v1))
select * from #textExample
-- converting ntext back to nvarchar(max)
SET @v2 = CONVERT(nvarchar(max), (select t1 from #textExample where id = 1))
select @v2, LEN(@v2)
drop table #textExample