SQLServer XML类型
SQL Server从2005起开始支持xml类型,这个数据类型对于后期的改变非常有用。一对多的关系在后期变成了多对多的关系,XML类型就是一个不错的选择。
1、创建测试数据
创建表
--创建表,包含Xml类型列
CREATE TABLE Person
(
Id int,
Info xml
)
插入测试数据
--插入3条测试数据
INSERT Person VALUES(1,'<Person><ID>1</ID><Name>刘备</Name></Person>')
INSERT Person VALUES(2,'<Person><ID>2</ID><Name>关羽</Name></Person>')
INSERT Person VALUES(3,'<Person><ID>3</ID><Name>张飞</Name></Person>')
2、查询节点内容
query()方法
--查询节点内容query()方法
SELECT Id,Info.query('(/Person/Name)[1]') FROM Person WHERE ID = 2
3、查询值
value()方法
--查询值value()方法
SELECT Id,Info.value('(/Person/Name)[1]','VARCHAR(50)') FROM Person WHERE ID = 2
SELECT * FROM Person WHERE Info.value('(/Person/Name)[1]','VARCHAR(50)') = '张飞'
4、查询是否存在
exist()方法
--查询是否存在 exist()方法
SELECT * FROM Person WHERE Info.exist('(/Person/Name)[1]') = 1
5、查询节点
nodes()方法
--查询节点
SELECT T2.Loc.query('.')
FROM Person
CROSS APPLY Info.nodes('/Person/Name') as T2(Loc)
6、修改XML
modify()方法
1、增加节点

--modify(insert)增加节点
UPDATE Person SET
Info.modify('
insert
<Age>25</Age>
into (/Person)[1]'
)
WHERE Id = 3

2、删除节点
-- 删除节点内容(xQuery知识,没有text()就直接删除节点)
UPDATE Person
SET Info.modify('
delete (/Person)[1]/Age/text()'
)
where ID = 3
SQLServer XML类型的更多相关文章
- 【转】SQLServer XML类型
SQL Server从2005起开始支持xml类型,这个数据类型对于后期的改变非常有用.一对多的关系在后期变成了多对多的关系,XML类型就是一个不错的选择. 1.创建测试数据 创建表 --创建表,包含 ...
- SqlServer xml类型 查询及操作
2.xpath: 寻址语言,类似windows目录的查找(没用过dir命令的话就去面壁) 语法格式,这些语法可以组合为 ...
- SQLSERVER XML 类型列的模糊查询
select <column_name> from MyTable where <column_name>.value('(/root/sub-tag)[1]', 'varch ...
- 答:SQLServer DBA 三十问之一: char、varchar、nvarchar之间的区别(包括用途和空间占用);xml类型查找某个节点的数据有哪些方法,哪个效率高;使用存储 过程和使用T-SQL查询数据有啥不一样;
http://www.cnblogs.com/fygh/archive/2011/10/18/2216166.html 1. char.varchar.nvarchar之间的区别(包括用途和空间占用) ...
- Sqlserver更新数据表xml类型字段内容某个节点值的脚本
GO USE [JC2010_MAIN_DB] 1.新建备份表JobObjectVersion_JCSchemVersion_BCK) GO IF EXISTS (SELECT * FROM sys. ...
- Sql Server xml 类型字段的增删改查
1.定义表结构 在MSSM中新建数据库表CommunicateItem,定义其中一个字段ItemContentXml 为xml类型 2.编辑表数据,新增一行,发现xml类型不能通过设计器录入数据. 需 ...
- 批量处理sql 数据存入xml类型列
个人记录 需求:当表T1 ItemCode和表T2 ItemName的数据相等时,将表T2所对应的ID和ItemName列的数据分别存入表T1 CAOZUO字段的id元素和text元素的文本中. 下面 ...
- Ajax返回xml类型数据
ajax可以返回文本类型数据和xml类型数据,xml是计算机通用语言 可以使用js解析返回xml类型数据的dom对象 前端页面 <!doctype html> <html lang= ...
- C# Winform中执行post操作并获取返回的XML类型的数据
/// <summary> /// 返回指定日期的订单数据 /// </summary> /// <param name="StartDate"> ...
随机推荐
- 商派shopex
http://www.shopex.cn/48release/shopexsingle_exper.php 在线体验 前台体验:http://demo.shopex.com.cn/485 后台体验:h ...
- UVA1218--树形DP
没有看书和题解做的一道树形DP题,思路很清晰..只是debug上花了很久的时间才发现看错了条件..并不是每个点都只能和一台服务器相邻,而是非服务器的点只能和一台服务器相邻..看错了一个条件差距大了去了 ...
- ios实现程序切入后台,实现后台任务
首先,iOS 会再持续切入后台,给我们5秒钟的时间去处理相关数据,5秒后,程序不会再执行任何代码,处于挂起状态. // 项目需求,按下Home切换后台后向服务器传一些数据,废话不多说,直接上代码 /* ...
- AJAX实现google搜索建议实战
搜索建议实战的目标是为了输入搜索内容,动态的进行匹配,效果图如下: 整体思路: 在客户端搜索框中触发onkeyup事件, 随时向PHP服务器请求当前输入框中的内容, PHP服务器获取到keywords ...
- H Language Blueprint
H Language Blueprint I will design the H language in the very-soon future, it will be like: 1- a scr ...
- 高性能WEB开发(6) - web性能測试工具推荐
WEB性能測试工具主要分为三种.一种是測试页面资源载入速度的,一种是測试页面载入完成后页面呈现.JS操作速度的,另一种是整体上对页面进行评价分析,以下分别对这些工具进行介绍,假设谁有更好的工具也请一起 ...
- poj3358数论(欧拉定理)
http://poj.org/problem?id=3358 (初始状态为分数形式)小数点进制转换原理:n / m ; n /= gcd( n , m ) ; m/= gcd( n , m ) ; n ...
- 3. QT窗体间值的传递(续)
一.前言 上篇博客中通过重载子窗体的构造函数将主窗体的值传入到子窗体,但是在子窗体运行过程中如何才能将值动态的传入到子窗体?可以有两种办法,1.信号和槽的方式传值:2.主窗体中将传出值设置为publi ...
- java第二周学习日记
day01 1.抽象类 (1)抽象类的应用场景: 我们在描述一类事物的时候,发现该种事物确实存在着某种行为,但是这种行为目前不是具体的,那么我们可以抽取这种行为的声明,但是不去实现该种行为,这时候这种 ...
- 虚拟化之docker安装篇
1,docker pull centos 下载centos镜像 docker search centos 搜索镜像 2,docker images 查看本地镜像 3,do ...