DECLARE @DOC XML ='
<books>
<book category="C#"> 
  <title language="en">C# in Depth</title> 
  <author>John Skeet</author> 
  <year>2010</year> 
  <price>62.30</price> 
</book> 
<book category="C#"> 
  <title language="cn">Effective C#</title> 
  <author>Bill Wagner</author> 
  <year>2010</year> 
  <price>49.00</price> 
</book>
<book category="MSSQL"> 
  <title language="cn">SQL2008 技术内幕</title> 
  <author>Itzik Ben-Gan</author> 
  <year>2010</year> 
  <price>90.20</price> 
</book>
<book category="javascipt">
<title language="cn">JavaScript权威指南</title>
<author>David Flanagan</author>
<year>2007</year> 
<price>87.20</price>
</book>
</books>
';
--查询所有书籍的分类
SELECT 
     T.C.value('@category','VARCHAR(16)')
FROM @DOC.nodes('/books/book') AS T (C);
--查询所有C#书籍的名称,作者,价格,年份
WITH B AS
(
    SELECT @DOC.query('//book[@category="C#"]') AS BookNode
)
SELECT 
    T.C.value('title[1]/@language','VARCHAR(32)') AS [language],
    T.C.value('title[1]','VARCHAR(32)') AS title,
    T.C.value('author[1]','VARCHAR(16)') AS author,
    T.C.value('year[1]','INT') AS [year],
    T.C.value('price[1]','DECIMAL(19,2)') AS price
FROM B
CROSS APPLY B.BookNode.nodes('/book') AS T (C);
--查询所有书籍的语言和名称
SELECT 
    T.C.value('@language[1]','varchar(56)') AS [Language],
    T.C.value('.','VARCHAR(56)') AS TITLE
FROM @DOC.nodes('/books/book/title') AS T (C);

sqlserver中xml查询的更多相关文章

  1. SQL SERVER中XML查询:FOR XML指定PATH

    SQL SERVER中XML查询:FOR XML指定PATH 前言 在SQL SERVER中,XML查询能够指定RAW,AUTO,EXPLICIT,PATH.本文用一些实例介绍SQL SERVER中指 ...

  2. sqlserver中怎么查询字段为空的记录

    sqlserver中怎么查询字段为空的记录的两种方法: 详细介绍请查看全文:https://cnblogs.com/qianzf/ 原文博客的链接地址:https://cnblogs.com/qzf/

  3. SqlServer中的查询简单总结

    一.sql语句的执行顺序 查询时数据库中使用最多的操作,一条sql语句的查询顺序是 1.from Tb1 [ join on ]   得到查询的数据源 2.where    对数据过滤(单条数据上过滤 ...

  4. SqlServer中循环查询结果集

    ); begin ; open c_test_main;--打开游标 --开始循环 begin fetch next from c_test_main into @id,@value; --赋值到变量 ...

  5. XML 在SQLServer中的使用

    SQL Server对于XML支持的核心在于XML数据的格式,这种数据类型可以将XML的数据存储于数据库的对象中,比如variables, columns, and parameters.当你用XML ...

  6. SQLServer中查询的数字列前面补0返回指定长度的字符串

    SQLServer中查询的数字列前面补0返回指定长度的字符串: 如: 角本如下: /****** Script for SelectTopNRows command from SSMS ******/ ...

  7. Oracle&SQLServer中实现跨库查询

    一.在SQLServer中连接另一个SQLServer库数据 在SQL中,要想在本地库中查询另一个数据库中的数据表时,可以创建一个链接服务器: EXEC master.dbo.sp_addlinked ...

  8. hibernate mapping文件中 xmlns会导致linq to xml 查询不到对应的节点

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  9. XXXMapper.xml中嵌套查询

    XXXMapper.xml中嵌套查询 <resultMap id="LiveUserNocticeMap" type="com.fxkj.common.vo.Liv ...

随机推荐

  1. bad ELF interpreter

    安装JDK的时候遇到的问题,  多半是64位的系统安装了32位的软件导致的

  2. python 抓取网页一部分

    import re import requests from bs4 import BeautifulSoup response = requests.get("https://jecvay ...

  3. java-文件流正确关闭资源

    用文件流来拷贝一个文件,用到文件字节输入流(FileInputStream)和文件字节输出流(FileOutputStream),用输入流把字节文件读到缓冲数组中,然后将缓冲数组中的字节写到文件中,就 ...

  4. django gunicorn 各worker class简单性能测试

    版权归作者所有,任何形式转载请联系作者.作者:petanne(来自豆瓣)来源:https://www.douban.com/note/564871723/ ====================== ...

  5. lapis 数据库配置

    备注:  目前支持 postgresql .mysql (实际使用大家可以尝试用下tidb.CockroachDB)   1. pg数据库配置 // config.lua local config = ...

  6. Spark性能优化:资源调优篇(转)

    在开发完Spark作业之后,就该为作业配置合适的资源了.Spark的资源参数,基本都可以在spark-submit命令中作为参数设置.很多Spark初学者,通常不知道该设置哪些必要的参数,以及如何设置 ...

  7. Codeforces Round #205 (Div. 2)C 选取数列可以选择的数使总数最大——dp

    http://codeforces.com/contest/353/problem/C Codeforces Round #205 (Div. 2)C #include<stdio.h> ...

  8. Python控制台输出不换行(进度条等)

    sys.stdout.write('\r'+str) sys.stdout.flush() time.sleep(1)

  9. NETCTOSS - 中国电信运营支持系统-网络版_V-1.0

    NETCTOSS - 中国电信运营支持系统-网络版_V-1.0 NETCTOSS: C:China T:Telecom 电信 O:Operation 运营 S:Support 支持 S:System ...

  10. 微信web端生成支付二维码

    授权获取二维码类: <?php /** * Trade类 * @author xyyphp * @date 2016/10/10 */ abstract class TradeControlle ...