2012年12月18日 归档

了解SQLServer中varchar(max)、nvarchar(max)和varbinary(max)

在Microsoft SQLServer2005及以上的版本中,对于varchar(n)、nvarchar(n)和varbinary(n)有了max的扩展。可以使用如: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)上相同,所以,可以用在varchar的都可以用在varchar(max)上。 查看更多...

SQL Server 2005及以上版本中XML操作函数详解

一直以来,使用sqlserver都比较少,之前读书时学过sqlserver2000、sqlserver2005,却一直没接触到类似于sqlserver2005中引入新的字段类型XML、varchar(max)、nvarchar(max)、varbinary(max)之类的知识。直到今天,用到大字节的数据存储,才发现有这个改进,确切点说,是sqlserver2005中废弃了text、ntext 和image类型采用新的max标记来扩展原有字段的存储能力,如varchar(max)、nvarchar(max)、varbinary(max),关于这些在后面单独描述,本篇介绍一下sqlserver2005以后新增的一个类型——XML。

我们采用T-Sql操作Xml数据。使用sqlserver2005引入的XML数据类型。用户可以创建这样的表,它在关系列之外还有一个或多个 XML 类型的列;此外,还允许带有变量和参数。为了更好地支持 XML 模型特征(例如文档顺序和递归结构),XML 值以内部格式存储为大型二进制对象 (BLOB)。

用户将一个XML数据存入数据库的时候,可以使用这个XML的字符串,SQL Server会自动的将这个字符串转化为XML类型,并存储到数据库中。 查看更多...