zoukankan      html  css  js  c++  java
  • XQuery 学习入门示例

    XQuery 是一种可以查询结构化或半结构化 XML 数据的语言

    若要查询 xml 类型的变量或列中存储的 XML 实例,
    可以使用 xml 数据类型方法

    例如:
    声明一个 xml 类型的变量,
    然后使用 xml 数据类型的 query() 方法来查询此变量

    DECLARE @x xml
    SET @x = '<book><bookAuthor>张三</bookAuthor></book>'
    SELECT @x.query('/book/bookAuthor')

    将得到
    <bookAuthor>张三</bookAuthor>

    -------
    下表列出了 xml 数据类型方法

    query() 方法(xml 数据类型)  此方法用于对 XML 实例进行查询
     
    value() 方法(xml 数据类型)  此方法用于从 XML 实例检索 SQL 类型的值
     
    exist() 方法(xml 数据类型)     此方法用于确定查询是否返回非空结果
     
    modify() 方法(xml 数据类型) 此方法用于指定 XML DML 语句以执行更新
     
    nodes() 方法(xml 数据类型)  此方法用于将 XML 拆分成多行
                                                             以将 XML 文档的组成部分传播到行集中

    =============== value() ===
    DECLARE @x xml
    SET @x = '<book><bookAuthor>张三</bookAuthor></book>'
    SELECT @x.value('(/book/bookAuthor)[1]','char(10)')
    结果为:
    张三

    =============== exist()==
    DECLARE @x xml
    SET @x = '<book><bookAuthor>张三</bookAuthor></book>'
    SELECT @x.exist('/book/bookAuthor')
    结果为:
    1

    =============== modify()====
    ----replace value of
    DECLARE @x xml
    SET @x = '<book><bookAuthor>张三</bookAuthor></book>'
    SET @x.modify('replace value of (/book/bookAuthor/text())[1] with "李四"')
    SELECT @x
    结果为:
    <book><bookAuthor>李四</bookAuthor></book>

    ----insert
    DECLARE @x xml
    SET @x = '<book><bookAuthor>张三</bookAuthor></book>'
    SET @x.modify('insert <book><bookAuthor>李四</bookAuthor></book>
                                into  (.) ')
    SELECT @x
    结果为:
    <book><bookAuthor>张三</bookAuthor></book>
    <book><bookAuthor>李四</bookAuthor></book>

    ----delete
    DECLARE @x xml
    SET @x = '<book><bookAuthor>张三</bookAuthor><price>20</price></book>'
    SET @x.modify('delete (/book/price) ')
    SELECT @x
    结果为:
    <book><bookAuthor>张三</bookAuthor></book>

    ============= nodes() ====

    DECLARE @x xml
    SET @x = '<book><bookAuthor>张三</bookAuthor></book>'
    SELECT tableTmp1.columnTmp1.query('./text()') AS '作者'
    FROM @x.nodes('/book/bookAuthor') tableTmp1(columnTmp1)
    结果为:
    作者
    张三

  • 相关阅读:
    -webkit-user-select
    防火墙配置
    apache+tomcat集群部署笔记
    项目管理理念
    用plsql 导入导出oracle表结构数据
    Pair programming
    [整理]Linux压缩与解压缩命令整理。
    [转]虚拟机VMware3种网络模式(桥接、nat、Host-only)的工作原理
    [原创]VM虚拟机安装centos6.4详细图文教程
    [转]z-order引出的问题
  • 原文地址:https://www.cnblogs.com/freeliver54/p/601444.html
Copyright © 2011-2022 走看看