zoukankan      html  css  js  c++  java
  • sqlserver中xml查询

    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);
  • 相关阅读:
    Python反射(自省)机制
    Python多态和多态性
    Python中子类调用父类的方法
    Python类的组合和继承
    Python类的静态属性、类方法、静态方法
    Python类的内置函数
    Python json模块详解
    python os模块总结
    python sys模块详解
    python 模块和包的入方法
  • 原文地址:https://www.cnblogs.com/pnljs/p/3536151.html
Copyright © 2011-2022 走看看