sqlserver中text与Varchar(max)的区别

在 SQL Server 2005 数据库及以上的版本中,加入大值数据类型(varchar(max)、nvarchar(max)、varbinary(max) )。大值数据类型最多可以存储 2^30-1 个字节的数据。

    这几个数据类型在行为上和较小的数据类型 varchar、nvarchar 和 varbinary 相同。

    微软的说法是用这个数据类型来代替之前的text、ntext 和 image 数据类型,它们之间的对应关系为:
    varchar(max)-------text;
    nvarchar(max)-----ntext;
    varbinary(max)----image.

    有了大值数据类型之后,在对大值数据操作的时候要比以前灵活的多了。比如:之前 text 是不能用‘like’的,有了 varchar(max) 之后就没有这些问题了,因为 varchar(max) 在行为上和 varchar(n) 上相同,所以,可以用在 varcahr 的都可以用在 varchar(max) 上。

    以前只是听别人说 Text 和 Image 是可能被 SQL Server 以后的版本淘汰的数据类型,但具体的原因不太清楚,现在明白了!另外,这个还支持对插入的和删除的表中的大值数据类型列引用上使用 AFTER 触发器。text 就不行,总之,以后还是用大值类型吧!

原文地址:http://plat.delit.cn/thread-148-1-1.html

转载请注明出处:

撰写人:度量科技www.delit.cn

你可能感兴趣的:(sqlserver中text与Varchar(max)的区别)