MSDN has this to say关于这个问题:nvarchar(4001)?
nvarchar的[(N | MAX)]
可变长度Unicode字符数据。 ncan是一个从1到4,000的值。 max表示最大存储大小为2^31-1字节。存储大小(以字节为单位)是输入的字符数+ 2字节的两倍。输入的数据长度可以是0个字符。 nvarchar的ISO同义词是国家字符变化和国家字符变化。
这让我感到困惑。我可以将列定义为1 - 4000长,或2147483647长,但没有任何内容?我的理解是否正确?为什么我不能明确中间值?
+1 - 他也应该知道'MAX'意味着没有索引或约束。 – JNK
那么,大于450的任何东西都会因索引的900byte限制而导致问题。 – spender
@spender,只有当列需要作为索引中的关键字列参与时才相关。你的陈述似乎意味着没有人应该声明一个'NVARCHAR(> 450)'? –