在SQL Server 2000中,VARCHAR的最大长度是8000,如果字符串的长度超过8000,保存在VARCHAR中时就会被截断。
也不能定义DECLARE @largeText TEXT ,常见的字符串函数也不能使用,除了datalength,substring(substring中英文字符作为一个字符)。
这几个数据类型在行为上和较小的数据类型 varchar、nvarchar 和 varbinary 相同,最大长度都为2^31-1。
微软的说法是用这个数据类型来代替之前的text、ntext 和 image 数据类型,它们之间的对应关系为:
varchar(max)——-text;
nvarchar(max)—–ntext;
varbinary(max)—-image.
注意:
1.VARCHAR和VARCHAR(MAX)混在一起做处理时还是会变成VARCHAR,从而可能被截断,所以需要全转成VARCHAR(MAX)
2.在变量声明中使用 char 和 varchar 数据类型时,这些数据类型的默认值 n 为 1。
3.在 CAST 和 CONVERT 中使用 varchar 时,显示 n 的默认值为30。