1
这样的事情是否存在或您是否始终需要手动设置最大字段长度?自动设置为字段长度值的SQL数据类型
我们在我们的数据库中有一个varchar
字段,其中值的长度可以是从0到800或更大的任何值。有没有一种数据类型可以自动将它自己设置为输入值的长度?
这样的事情是否存在或您是否始终需要手动设置最大字段长度?自动设置为字段长度值的SQL数据类型
我们在我们的数据库中有一个varchar
字段,其中值的长度可以是从0到800或更大的任何值。有没有一种数据类型可以自动将它自己设置为输入值的长度?
(这是专门为SQL Server - 但应该适用于大多数其他RDBMS以及)
您需要定义最大长 - 但需要varchar
类型将永远只能存储尽可能多的数据。所以需要定义最大值 - 但不是实际大小 - 这是自动处理的。
所以,如果您有varchar(800)
并且存储50个字符 - 它占用了52个字节。如果您存储了100个字符 - 使用了102个字节(每个条目有2个字节的开销)。
与此同时,我还是会说你应该不只是定义了所有列varchar(max)
(最大2 GB大小。) - 尽管它可能看起来很诱人,方便。请阅读What's the Point of Using VARCHAR(n) Anymore?了解为什么不这样做的一个很好的解释。
nope没有这样的东西 – 2013-02-22 16:42:31
哈哈好吧,谢谢:) – NealR 2013-02-22 16:45:27
这就是为什么你不能声明一个'VARCHAR'而不指定它的大小。 – 2013-02-22 16:45:33