sqlserver2005 TSql新功能学习总结(数据类型篇)
发布时间:2024-01-28 10:46:07
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。
猜你喜欢
- 今天有人问起,晚上试着写出来,供参考; 以下代码兼容主流浏览器IE6、IE7、Firefox、Opera。从最简单的开始…………一
- 引用是指保存的值为对象的地址。在 Python 语言中,一个变量保存的值除了基本类型保存的是值外,其它都是引用,因此对于它们的使用就需要小心
- 前言深度学习涉及很多向量或多矩阵运算,如矩阵相乘、矩阵相加、矩阵-向量乘法等。深层模型的算法,如BP,Auto-Encoder,CNN等,都
- 在采集网页信息的时候,经常需要伪造报头来实现采集脚本的有效执行下面,我们将使用urllib2的header部分伪造报头来实现采集信息方法1、
- 方法一1. 下载MySQL源码分发包,不用区分操作系统,我们需要的东西是一样的;2. 重命名自己的mysql的data目录下的mysql文件
- 下面这段代码是asp编写的用来识别客户端是否为手机浏览器,以及手机类型的代码。主要用于手机网站的建设,以便实现相同网址下的不同版本网站(比如
- 传统方式需要10s,dat方式需要0.6simport osimport timeimport torchimport randomfrom
- 本文实例讲述了Python django框架应用中实现获取访问者ip地址。分享给大家供大家参考,具体如下:在django官方文档中有一段对r
- python-opencv3.0新增了一些比较有用的 * 算法,这里根据官网示例写了一个 * 类程序只能运行在安装有opencv3.0以上版
- 刚刚在学习些测试报告的时候,出现一个路径的问题,找了很久的原因,竟然是少了一个反斜杠引起的,在此顺便记录一下正反斜杠的作用。在Python中
- 对于变量的访问和设置,我们可以使用get、set方法,如下:class student: def __init__(self,n
- 今天在对一堆新数据进行数据清洗的时候,遇到了一个这样的问题:ValueError: cannot convert float NaN to
- 在开发WEB应用程序中,我们经常需要对文件系统中的驱动器、文件夹和文件进行处理,比如收集驱动器的相关信息;创建、添加、移动或删除文件夹和文件
- 效果展示效果展示素材展示一个为视频,另一个为像素大小不小于视频的封面。实现过程调用已启用的浏览器通过调用已启用的浏览器,可以实现直接跳过每次
- 一、两种模式pytorch可以给我们提供两种方式来切换训练和评估(推断)的模式,分别是:model.train() 和 model.eval
- 前言原子操作这是Java多线程编程的老生常谈了。所谓原子操作是指不会被线程调度机制打断的操作;这种操作一旦开始,就一直运行到结束,中间不会有
- 本文为大家分享了VMWare linux安装mysql 5.7.13的教程,供大家参考,具体内容如下1、基础环境说明虚拟机:VMWare操作
- 前言为了简化并更好地标识异步IO,从Python 3.5开始引入了新的语法async和await,可以让coroutine的代码更简洁易读。
- 大家可能经常会遇到这种情况:sql="select * from table"set rs=conn.execute(s
- 在我的电脑中存在多个版本的Python,实际工作中也时常需要切换Python版本来进行相关工作。在Pycharm的终端中使用python和i