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
 
 
 
0
0
 
(请您对文章做出评价)
 

SQLServer XML类型的更多相关文章

  1. 【转】SQLServer XML类型

    SQL Server从2005起开始支持xml类型,这个数据类型对于后期的改变非常有用.一对多的关系在后期变成了多对多的关系,XML类型就是一个不错的选择. 1.创建测试数据 创建表 --创建表,包含 ...

  2. SqlServer xml类型 查询及操作

        2.xpath:    寻址语言,类似windows目录的查找(没用过dir命令的话就去面壁)                                   语法格式,这些语法可以组合为 ...

  3. SQLSERVER XML 类型列的模糊查询

    select <column_name> from MyTable where <column_name>.value('(/root/sub-tag)[1]', 'varch ...

  4. 答:SQLServer DBA 三十问之一: char、varchar、nvarchar之间的区别(包括用途和空间占用);xml类型查找某个节点的数据有哪些方法,哪个效率高;使用存储 过程和使用T-SQL查询数据有啥不一样;

    http://www.cnblogs.com/fygh/archive/2011/10/18/2216166.html 1. char.varchar.nvarchar之间的区别(包括用途和空间占用) ...

  5. Sqlserver更新数据表xml类型字段内容某个节点值的脚本

    GO USE [JC2010_MAIN_DB] 1.新建备份表JobObjectVersion_JCSchemVersion_BCK) GO IF EXISTS (SELECT * FROM sys. ...

  6. Sql Server xml 类型字段的增删改查

    1.定义表结构 在MSSM中新建数据库表CommunicateItem,定义其中一个字段ItemContentXml 为xml类型 2.编辑表数据,新增一行,发现xml类型不能通过设计器录入数据. 需 ...

  7. 批量处理sql 数据存入xml类型列

    个人记录 需求:当表T1 ItemCode和表T2 ItemName的数据相等时,将表T2所对应的ID和ItemName列的数据分别存入表T1 CAOZUO字段的id元素和text元素的文本中. 下面 ...

  8. Ajax返回xml类型数据

    ajax可以返回文本类型数据和xml类型数据,xml是计算机通用语言 可以使用js解析返回xml类型数据的dom对象 前端页面 <!doctype html> <html lang= ...

  9. C# Winform中执行post操作并获取返回的XML类型的数据

    /// <summary> /// 返回指定日期的订单数据 /// </summary> /// <param name="StartDate"> ...

随机推荐

  1. KEIL里 Volatile的用法

    volatile用于防止相关变量被优化. 例如对外部寄存器的读写.对有些外部设备的寄存器来说,读写操作可能都会引发一定硬件操作,但是如果不加volatile,编译器会把这些寄存器作为普通变量处理,例如 ...

  2. Android模仿微信语音聊天功能

    项目效果如下: 项目目录结构如下: 代码如下: AudioManager.java import java.io.File; import java.io.IOException; import ja ...

  3. 转:PO BO VO DTO POJO DAO概念及其作用

    J2EE开发中大量的专业缩略语很是让人迷惑,尤其是跟一些高手讨论问题的时候,三分钟就被人家满口的专业术语喷晕了,PO VO BO DTO POJO DAO,一大堆的就来了(听过老罗对这种现象的批判的朋 ...

  4. GitHub使用说明

    登陆https://github.com/,并注册账号 从如下地址下载windows客户端:https://msysgit.googlecode.com/files/Git-1.8.4-preview ...

  5. 第12讲- Android之消息提示Toast

    第12讲 Android之消息提示Toast .Toast Toast 是一个 View 视图,在应用程序上浮动显示少量的信息给用户,它永远不会获得焦点,不影响用户的输入等操作,主要用于向用户显示一些 ...

  6. php 站内搜索 多表 分页

    借鉴了:http://blog.chinaunix.net/uid-20787846-id-3488253.html 这篇文章 ,在此基础上增加了分页功能 <?php /* 关键字 */ $ke ...

  7. IOS Main函数

    int main(int argc, char * argv[]) { @autoreleasepool { return UIApplicationMain(argc, argv, nil, NSS ...

  8. 浅谈Android系统进程间通信(IPC)机制Binder中的Server和Client获得Service Manager接口之路

    文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6627260 在前面一篇文章浅谈Service ...

  9. ArcEngine颜色可视化

    AE中利用.NET中的ColorDialog对话框,将color对象转化为ArcEngine中的IRgbColor (1)在实现颜色选择之前,需定义这两种颜色之间的转换函数 //Color转换为Rgb ...

  10. linux android ndk

    Android调用so库, so库是c语言编写, 在linux 64位系统+ndk(32位)生成 lib*.so (32位) 1. 所需软件环境: 1)so库开发环境 操作系统: Redhat Ser ...