首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >nvarchar(4001)

nvarchar(4001)
EN

Stack Overflow用户
提问于 2011-08-03 16:37:43
回答 3查看 348关注 0票数 2

关于这个主题的MSDN有这样的说法

nvarchar (n= max ) 可变长度Unicode字符数据。ncan可以是1到4,000之间的值。max表示最大存储大小为2^31-1字节.存储大小(以字节为单位)是输入的字符数+2个字节的两倍。输入的数据长度可以为0字符。nvarchar的ISO同义词是国家字符的变化和民族特征的变化。

这让我很困惑。我可以定义一列为1-4000长,或2147483647长,但两者之间没有?我的理解正确吗?为什么我不能明确指出两者之间的价值呢?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-08-03 16:41:15

NVARCHAR(MAX)涵盖了其他所有内容(不仅仅是20亿个字符)。如果您需要超过4,000个字符,那么数据肯定会离开页面,所以就行为而言,使用过4,001个字符、10,000个字符或10,000,000个字符并不重要。它只占用您需要的空间,所以不要认为您在浪费(2 billion characters - the length of your actual string)

票数 4
EN

Stack Overflow用户

发布于 2011-08-03 16:41:43

Max将接受4001到1073741823之间的值(请记住,存储大小大约是实际字符串长度的2倍)。

限制基本上是任何超过4000个字符都必须是一个MAX

票数 2
EN

Stack Overflow用户

发布于 2011-08-03 16:40:30

因为4000字符或更少的字符在存储方面有一种行为,而MAX在存储方面有另一种行为。你真的不想开始强迫对长度为1米的东西进行字符串长度计算,对吗?我目前的理解是,多达4000个字符存储在表中,MAX存储在表外。

另外,NVARCHAR(最大)和VARCHAR(最大)是文本和ntext的替代品。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6929969

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档