sql server2005新增加了2大数据类型: 1.大值数据类型 2.xml 1.大值数据类型 Microsoft SQL Server 2005 中引入了 max 说明符。此说明符增强了 varchar、nvarchar 和 varbinary 数据类型的存储能力。varchar(max)、nvarchar(max) 和 varbinary(max) 统称为大值数据类型。您可以使用大值数据类型来存储最大为 2^31-1 个字节的数据。 大值数据类型和 SQL Server 早期版本中与之对应的数据类型之间的关系: varchar(max) text nvarchar(max) ntext varbinary(max) image 重要提示: 在 Microsoft SQL Server 以后的版本中,将删除 ntext、text 和 image 数据类型。请避免在新开发工作中使用这些数据类型,并考虑修改当前使用这些数据类型的应用程序。请改用 nvarchar(max)、varchar(max) 和 varbinary(max)。 更新大值数据类型 UPDATE 语句支持 .WRITE( ) 子句对基础大值数据列进行部分更新。这类似于 SQL Server 早期版本中所支持的对 text、ntext、image 数据类型的文本指针操作、WRITETEXT 和 UPDATETEX。 使用 .WRITE (expression,@Offset,@Length) 子句执行对 varchar(max)、nvarchar(max) 和 varbinary(max) 等数据类型的部分或完整更新。 若要针对其他字符或二进制数据类型获得相同的 .WRITE 功能,可以使用 STUFF等字符函数 注意事项: 0.@Offset 是基于零的序号位置. 1.不能使用 .WRITE 子句更新 NULL 列或将 column_name 的值设置为 NULL。 注意事项: 0.@Offset 是基于零的序号位置. 1 .不能使用 .WRITE 子句更新 NULL 列或将 column_name 的值设置为 NULL。 <div class="codetitle"><a style="CURSOR: pointer" data="38961" class="copybut" id="copybut38961" onclick="doCopy('code38961')"> 代码如下:<div class="codebody" id="code38961"> create table test1( ids int,DocumentSummary nvarchar(max)) go select from test1 go insert into test1 select 1,null go select from test1 go --错误不能使用.WRITE 子句更新NULL 列 update test1 set DocumentSummary.WRITE(N'abcdefg',NULL) --正确的 update test1 set DocumentSummary=N'abcdefg' select from test1 go 2.如果将 expression 设置为 NULL,则忽略 @Length,并将 column_name 中的值按指定的 @Offset 截断。 <div class="codetitle"><a style="CURSOR: pointer" data="30675" class="copybut" id="copybut30675" onclick="doCopy('code30675')"> 代码如下:<div class="codebody" id="code30675"> --把efg截断,得到abcd update test1 set DocumentSummary.WRITE(Null,4,0) select from test1 go 3.如果 @Offset 为 NULL,则更新操作将在现有 column_name 值的结尾追加 expression,并忽略 @Length。 <div class="codetitle"><a style="CURSOR: pointer" data="8649" class="copybut" id="copybut8649" onclick="doCopy('code8649')"> 代码如下:<div class="codebody" id="code8649"> -- 在结尾追加hi,得到abcdefghi update test1 set DocumentSummary.WRITE('hi',null,0) select from test1 go 4.如果 @Length 为 NULL,则更新操作将删除从 @Offset 到 column_name 值的结尾的所有数据。 <div class="codetitle"><a style="CURSOR: pointer" data="48170" class="copybut" id="copybut48170" onclick="doCopy('code48170')"> 代码如下:<div class="codebody" id="code48170"> -- 得到ahi update test1 set DocumentSummary.WRITE('hi',1,null) select from test1 go .xml 存储的 xml 数据类型表示实例大小不能超过 2 GB。 (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|