我不清楚varchar(max)
在 SQL Server 2005 中如何声明或使用 。例如,
声明为 的变量是否被视为? 例如,我在 DB 中的表中看到一个变量被声明为。 我可以简单地将其增加到吗? 谢谢varchar(300000)
varchar(max)
varchar(8000)
varchar(300000)
答案1
当您明确定义最大尺寸时,则不能定义高于CHAR(8000)
/VARCHAR(8000)
或NCHAR(4000)
/ NVARCHAR(4000)
。
当您将变量定义为CHAR(max)
或 时VARCHAR(max)
,您将该变量的最大大小设置为2GB
。
无法定义最大大小在8000 bytes
和之间的变量2GB
。
答案2
不可以。SQL Server 上 varchar 的最大大小为 8000。如果您想要更大的大小,则需要使用其他类型,例如ntext 或 text。
然后,要找到已存储数据的长度,可以执行以下操作:
USE AdventureWorks2008R2; // this db has an example for you
GO
SELECT length = DATALENGTH(Name), Name
FROM Production.Product