广

MSSQL

  • MYSQL
  • MSSQL
  • Redis
  • MongoDB
  • oracle数据库
  • 数据管理

    sqlserver2005 TSql新功能学习总结(数据类型篇)

    2018-05-03 14:17:09 次阅读 稿源:互联网
    零七网广告
    全网推广平台,软文发布
    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。
    代码如下:

    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',0,NULL)
    --正确的
    update test1
    set DocumentSummary=N'abcdefg'
    select * from test1
    go

    2.如果将 expression 设置为 NULL,则忽略 @Length,并将 column_name 中的值按指定的 @Offset 截断。

    代码如下:

    --把efg截断,得到abcd
    update test1
    set DocumentSummary.WRITE(Null , 4 ,0)
    select * from test1
    go


    3.如果 @Offset 为 NULL,则更新操作将在现有 column_name 值的结尾追加 expression,并忽略 @Length。

    代码如下:

    -- 在结尾追加hi,得到abcdefghi
    update test1
    set DocumentSummary.WRITE('hi' , null ,0)
    select * from test1
    go



    4.如果 @Length 为 NULL,则更新操作将删除从 @Offset 到 column_name 值的结尾的所有数据。

    代码如下:

    -- 得到ahi
    update test1
    set DocumentSummary.WRITE('hi' , 1 ,null)
    select * from test1
    go

    .xml
    存储的 xml 数据类型表示实例大小不能超过 2 GB。

    零七网部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与零七网进行文章共享合作。

    零七网广告
    零七网广告
    零七网广告
    零七网广告