SQL 服务器 varchar(max) 工作不正常

SQL Server varchar(max) is not working properly

在下面的示例中,txt 列长度显示不正确。

CREATE TABLE dbo.test
(
    Id int IDENTITY,
    txt varchar(max)
);

insert into test(txt) select REPLICATE('0',8000);
insert into test(txt) select REPLICATE('00',8000);

select id, len(txt) from test;

drop table test;

显示的结果均为 8000。

任何人都可以帮忙吗?

如果您想将某些内容插入 varchar(max) 列 - 您的插入代码需要将其显式转换为 varchar(max) - 试试这个:

insert into test(txt) select REPLICATE(cast('00' as varchar(max)), 8000);

那应该在 table.

中给你一个长度为 16'000 个字符的字符串