`

Sql Server2005 Transact-SQL 新兵器学习总结之-数据类型

阅读更多

sql server2005新增加了2大数据类型:

1.大值数据类型

2.xml

1.大值数据类型

Microsoft SQL Server 2005 中引入了 max 说明符。此说明符增强了 varcharnvarchar varbinary 数据类型的存储能力。varchar(max)nvarchar(max) varbinary(max) 统称为大值数据类型。您可以使用大值数据类型来存储最大为 2^31-1 个字节的数据。

 

大值数据类型和 SQL Server 早期版本中与之对应的数据类型之间的关系:

varchar(max)

text

nvarchar(max)

ntext

varbinary(max)

image

重要提示: 

Microsoft SQL Server 以后的版本中,将删除 ntexttext image 数据类型。请避免在新开发工作中使用这些数据类型,并考虑修改当前使用这些数据类型的应用程序。请改用 nvarchar(max)varchar(max) varbinary(max)

更新大值数据类型

UPDATE 语句支持 .WRITE( ) 子句对基础大值数据列进行部分更新。这类似于 SQL Server 早期版本中所支持的对 textntextimage 数据类型的文本指针操作、WRITETEXT UPDATETEX

使用 .WRITE (expression, @Offset, @Length) 子句执行对 varchar(max)nvarchar(max) varbinary(max) 等数据类型的部分或完整更新。

若要针对其他字符或二进制数据类型获得相同的 .WRITE 功能,可以使用 STUFF等字符函数

注意事项:
0@Offset 是基于零的序号位置.

1.不能使用 .WRITE 子句更新 NULL 列或将 column_name 的值设置为 NULL

Code
<!----> 1create table test1( ids int, DocumentSummary nvarchar(max))
 2go
 3select * from test1
 4go
 5insert into test1
 6select 1,null
 7go
 8select * from test1
 9go
10--错误不能使用.WRITE 子句更新NULL 列
11update test1
12set DocumentSummary.WRITE(N'abcdefg',0,NULL)
13
14--正确的
15update test1
16set DocumentSummary=N'abcdefg'
17select * from test1
18go
19

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

 

Code
<!---->1--把efg截断,得到abcd
2update test1
3set DocumentSummary.WRITE(Null , 4 ,0)
4select * from test1
5go
6

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

 

Code
<!---->1-- 在结尾追加hi,得到abcdefghi
2update test1
3set DocumentSummary.WRITE('hi' , null ,0)
4select * from test1
5go
6
7

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

 

Code
<!---->1-- 得到ahi
2update test1
3set DocumentSummary.WRITE('hi' , 1 ,null)
4select * from test1
5go
6

 

2.xml

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

 

Code
<!----> 1USE AdventureWorks;
 2GO
 3DECLARE @y xml (Sales.IndividualSurveySchemaCollection)
 4SET @y =  (SELECT TOP 1 Demographics FROM Sales.Individual);
 5SELECT @y;
 6GO
 7
 8
 9CREATE TABLE T(c1 int primary key, c2 xml)
10go
11DECLARE  @s varchar(100)
12SET @s = '<Cust><Fname>Andrew</Fname><Lname>Fuller</Lname></Cust>' 
13INSERT INTO T VALUES (3@s
14
15/**//*得到:
16<Cust>
17  <Fname>Andrew</Fname>
18  <Lname>Fuller</Lname>
19</Cust>
20*/

21select * from t
22



希望上面提到的知识对你有所提示
当然欢迎交流和指正
 
blog:
http://aierong.cnblogs.com/
author:aierong
email:aierong@126.com

分享到:
评论

相关推荐

    SQL Server 2008的Transact-SQL語言增強

    Microsoft SQL Server 2008 對Transact-SQL 語言進行了進一步增強!这个是对SQL2008在T_SQL方面增强作了详细的介绍!

    标准SQL和transact-sql之比较学习

    在数据库管理领域,SQL(Structured Query Language)是用于管理和处理关系型数据库的标准语言,而Transact-SQL(T-SQL)则是SQL的一个扩展,由Microsoft为它的SQL Server数据库管理系统所特有。本篇文章将深入探讨...

    Beginning Transact-SQL with SQL Server 2000 and 2005 (4 of 5)

    Beginning Transact-SQL with SQL Server 2000 and 2005 byPaul TurleyandDan Wood Wrox Press 2006 (594 pages) ISBN:076457955X Prepare for the ever-increasing demands of programming....

    SQL Server 2005 Beta 2 Transact-SQL 增强功能

    SQL Server 2005 Beta 2带来了对Transact-SQL的显著增强,这些改进主要集中在提升查询表达能力、数据完整性(DRI)支持、性能优化以及错误处理方面。以下是对这些增强功能的详细说明: 1. **排序函数**: SQL ...

    SQL Server数据库应用与开发:第04章 Transact-SQL语言基础.ppt

    Transact-SQL语言是SQL Server 2005在SQL语言的基础上增加了一些语言要素后的扩展语言,其语言要素包括注释、变量、运算符、函数和流程控制语句等。掌握Transact-SQL语言是进一步学习更多的管理技术和数据库应用开发...

    SQL Server 2008 Transact SQL Receipe

    ### SQL Server 2008 Transact-SQL Recipes #### 概述 SQL Server 2008 Transact-SQL Recipes 是一本专为数据库管理员、开发者以及任何希望深入理解 SQL Server 2008 中 Transact-SQL 功能的专业人士所编写的书籍。...

    Beginning Transact-SQL with SQL Server 2000 and 2005 (2 of 5)

    Beginning Transact-SQL with SQL Server 2000 and 2005 byPaul TurleyandDan Wood Wrox Press 2006 (594 pages) ISBN:076457955X Prepare for the ever-increasing demands of programming. Beginning with an ...

    Writing Queries Using Microsoft SQL Server 2008 Transact-SQL

    ### 使用Microsoft SQL Server 2008 Transact-SQL 编写查询 #### 概述 本课程旨在为学生提供使用Microsoft SQL Server 2008中的Transact-SQL语言编写基本查询所需的技能与知识。课程结束后,学员将能够熟练地使用...

    Transact-SQL参考(SQL Server 2000) 计算机专业电子书

    12. **XML支持**:SQL Server 2000开始支持XML,学习如何在Transact-SQL中处理XML数据,包括XML数据类型、XML方法和XML索引。 通过《Transact-SQL参考》的学习,无论是数据库管理员还是开发人员,都能提升在SQL ...

    《SQL Server 数据库》Transact-SQL程序设计实验报告.pdf

    《SQL Server 数据库》Transact-SQL程序设计实验报告主要关注了Transact-SQL语言的基础应用,涵盖了注释、变量、运算符、函数以及流程控制语句的使用。实验的目标是帮助学生掌握这些核心概念,并通过实际操作来提升...

    《Transact-SQL 权威指南》电子版(第一部分)

    Transact—SQL是结构化查询语言(SQL)的增强版本,与许多ANSI SQL标准兼容,Transact-SQL代码已成为SQL Server的核心。本书全面介绍了Transact—SQL,全书共21章,按照由浅入深的顺序,详细介绍了Transact-SQL...

    Beginning Transact-SQL with SQL Server 2000 and 2005 (1 of 5)

    Beginning Transact-SQL with SQL Server 2000 and 2005 byPaul TurleyandDan Wood Wrox Press 2006 (594 pages) ISBN:076457955X Prepare for the ever-increasing demands of programming. Beginning with an ...

    Inside Microsoft SQL Server 2008 T-SQL Programming.pdf

    本书主要聚焦于T-SQL(Transact-SQL)编程语言的使用,T-SQL是SQL Server使用的SQL方言,它不仅包括标准SQL的功能,还扩展了许多专为SQL Server设计的独特特性。T-SQL编程基础部分涵盖了以下内容: - **SQL语句语法...

    Inside Microsoft SQL Server 2008 T-SQL Programming

    T-SQL,即Transact-SQL,是SQL的一个扩展,主要用于微软的SQL Server系统中,用于数据查询、更新、插入和删除,以及复杂的存储过程和触发器的编写。 在SQL Server 2008版本中,T-SQL得到了许多增强和改进,这本书将...

    Transact-SQL权威指南

    《Transact-SQL权威指南》是一本深入探讨SQL在数据库管理中的应用的书籍,主要针对Transact-SQL,这是Microsoft SQL Server所使用的SQL方言。本书旨在帮助读者掌握T-SQL的高级技巧,优化性能,并利用其强大的功能...

    SQL.Server.2008.Transact-SQL.Recipes

    1. **基础知识**:首先介绍了Transact-SQL的基本语法和概念,包括数据类型、变量、运算符等基础内容。 2. **数据查询**:深入讲解了如何使用SELECT语句来检索数据,并介绍了各种子句的使用方法,例如WHERE、GROUP ...

    sql server 2012 T-SQl基础教程 源码和示例数据库

    本教程专注于Microsoft SQL Server 2012中的Transact-SQL(T-SQL)语言,这是SQL Server的主要查询语言,用于数据操作、查询、存储过程和数据库对象的编程。T-SQL是SQL Server开发者的核心技能,无论你是新手还是...

    Exam Ref 70-761 Querying Data with Transact-SQL

    Prepare for Microsoft Exam 70-761–and help demonstrate your real-world mastery of SQL Server 2016 Transact-SQL data management, queries, and database programming. Designed for experienced IT ...

    Transact-SQL数据库编程.ppt

    学习Transact-SQL对于任何想要在SQL Server环境中进行数据库开发或管理的人来说都是至关重要的。掌握这些知识将使开发者能够创建高效、健壮的数据库应用程序,并有效地管理和维护数据库系统。通过深入理解T-SQL的...

Global site tag (gtag.js) - Google Analytics