sql-server - SQL Server varchar(max) 无法正常工作

标签 sql-server max varchar

在以下示例中,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);

这应该会在表中给出一个长度为 16,000 个字符的字符串。

关于sql-server - SQL Server varchar(max) 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62180460/

相关文章:

mysql - 如何更新mysql中新添加的列

SQL查询将1列划分为3列

SQL Server,如何将默认排序规则设置为unicode?

mysql - 在 MySql 中增加 varchar 长度的可能后果?

postgresql - varchar(n) 是否节省了 postgresql 中的内存空间?

c# - 从 SQLDataReader 读取结果时出现无效的转换异常

types - 标准毫升中的最大整数和最小整数

python - 查找每行的最小值和最大值,不包括 NaN 值

python - 获取字典中的最大值

mysql - 使用 registerColumntype for hibernate 在 MySQL 中使用 mediumtext