zoukankan      html  css  js  c++  java
  • FOR XML PATH

    /*

     

    FOR XML PATH

    之前已经说了一些FOR XML (AUTO,RAW)的使用,下面说一说FOR XML PATH 模式的使用.

    AUTO,RAW模式可以满足大多数的XML格式需求,PATH模式可以提供其他的一些格式功能.

    */

     

    --1.控制层次

    /*

    使用PATH模式,你可以生成XML节点的层次结构.XML的层次是通过列的别名来控制的.

    下面的查询中增加了一个新的包含了NAME,Phone和SEX的节点INFO,注意别名中的"/"

    是用来控制XML生成层次的。

    */

     

    --测试表沿用FOR XML (AUTO,RAW) 中的Employees的测试表。

     

    SELECT

    EmployeeID AS '@id',

    Name AS 'info/NAME',

    Phone AS 'info/Phone',

    SEX AS 'info/SEX'

    FROM Employees FOR XML PATH('Employee'), TYPE, ELEMENTS, ROOT('Employees')

     

    /*

    <Employees>

      <Employee id="1">

        <info>

          <NAME>tudou</NAME>

          <Phone>15958944683</Phone>

          <SEX>男</SEX>

        </info>

      </Employee>

      <Employee id="2">

        <info>

          <NAME>shuige</NAME>

          <Phone>00000000000</Phone>

          <SEX>男</SEX>

        </info>

      </Employee>

      <Employee id="3">

        <info>

          <NAME>xiaozhu</NAME>

          <Phone>11111111111</Phone>

          <SEX>男</SEX>

        </info>

      </Employee>

    </Employees>

    */

     

    --2: 生成列表

     

     /*

    上面我们看到PATH可以用来控制层次结构,PATH还可以用来生成列表

    在行转列的时候很有用途,逛CSDN的应该经常看到这样的用法。下面

    生成EmployeeID列表

    */

     

     

     

    SELECT

    EmployeeID AS 'data()'

    FROM Employees

    FOR XML PATH('')

     

    /*

    结果:

    1 2 3

    */

     

    /*

    可以看到结果是用空格隔开的,但是大部分时候我们需要以一定的符号

    隔开,下面我们以","隔开。

    */

     

    SELECT REPLACE(

               (SELECT

               EmployeeID AS 'data()'

               FROM Employees

               FOR XML PATH('') ),' ',',')

     

    /*

    结果:

    1,2,3

    */

  • 相关阅读:
    关于android studio
    Android 第三方开源库收集整理(转)
    Android酷炫实用的开源框架——UI框架(转)
    常用天气预报API接口整理(转)
    GitHub 优秀的 Android 开源项目(转)
    Android 初始化Setup Wizard——Provision
    Android使用的设计模式2——策略模式
    Android使用的设计模式1——观察者模式
    左手坐标系和右手坐标系
    Android Launcher分析和修改13——实现Launcher编辑模式(1) 壁纸更换
  • 原文地址:https://www.cnblogs.com/wfx001/p/4059831.html
Copyright © 2011-2022 走看看