Nei*_*l N 5 sql t-sql database sql-server sql-server-2005
从SQL 2005开始,VARCHAR(MAX)不再限制为8000字节,而是使用"溢出"页面可以达到2GB.
但是,如果我想将此列限制为10k字节呢?如果我尝试将大小参数中的任何内容放在8000以上,我似乎会收到错误.这很奇怪,因为MAX与要求2GB限制相同.就Max尺寸而言,它似乎是一种"全有或全无".
有什么方法吗?
OMG*_*ies 12
您可以,但它需要您实现CHECK约束:
CHECK (DATALENGTH([VarChar10000]) <= 10000)
Run Code Online (Sandbox Code Playgroud)
参考:
你不能.无论是varchar(<= 8000)还是varchar(MAX),两者之间都没有.
你可以这样做:
CREATE TABLE [dbo].[VarChar10000] ( [VarChar10000] VARCHAR(MAX) )
GO
ALTER TABLE [dbo].[VarChar10000]
ADD CONSTRAINT [MaxLength10000]
CHECK (DATALENGTH([VarChar10000]) <= 10000)
GO
Run Code Online (Sandbox Code Playgroud)
请点击这里.
| 归档时间: |
|
| 查看次数: |
3439 次 |
| 最近记录: |