从SQL 2005开始,VARCHAR(MAX)不再限制为8000个字节,而是可以使用“溢出”页面增加到2GB。

但是,如果我想将此列限制为10k字节怎么办?如果尝试在size参数中将任何内容放入8000以上,似乎会出错。这很奇怪,因为MAX与要求2GB的限制相同。当谈到最大尺寸时,似乎有点“全有或全无”。

可以解决吗?

最佳答案

可以,但是需要实现CHECK约束:

CHECK (DATALENGTH([VarChar10000]) <= 10000)

引用:
  • SQL SERVER – 2005 Constraint on VARCHAR(MAX) Field To Limit It Certain Length
  • 关于sql - 我可以将VARCHAR大小设置为大于8k但小于MAX吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2344276/

    10-16 17:23