gpt4 book ai didi

sql-server - 查找varchar(max)列的长度

转载 作者:行者123 更新时间:2023-12-04 00:06:15 31 4
gpt4 key购买 nike

我正在尝试查找表中指定的字符串列的长度。

我在CHARACTER_MAXIMUM_LENGTHinfomation_schema.columns的帮助下完成此操作。

但是,对于varchar(max),它返回-1。我想知道是否只要表中存在varchar(max)nvarchar(max)等列,是否应该返回最大允许长度?

最佳答案

是的,varchar(max)或nvarchar(max)列的最大长度不是无限的。
存储限制为2GB(2 ^ 31 -1字节)。
当数据小于8kb时,它充当常规varchar / nvarchar列。然后,当单个行的数据大于8kb时,将其存储为大对象的text / ntext值。您可以将其视为两种数据类型的包装器。

但是,最大字符长度不是2000000000
varchar(max)列为2147483645,nvarchar(max)列为1073741822。
这是因为nvarchar每个字符有2个字节,而varchar每个字符有1个字节,需要2个字节来存储变量列的数据长度。

我不认为会从2GB的限制中减去任何多余的元数据,但是如果我发现其他内容,我明天将发表评论。

关于sql-server - 查找varchar(max)列的长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9114913/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com