zoukankan      html  css  js  c++  java
  • T-sql for xml path使用

    用法: FOR XML PATH 方法是用于将查询结果集以XML形式展示

    sql:

      select top 5 p.ContactTypeID,p.ModifiedDate,p.Name from [Person].[ContactType] p for xml path

    显示结果:

    <row>
      <ContactTypeID>1</ContactTypeID>
      <ModifiedDate>2002-06-01T00:00:00</ModifiedDate>
      <Name>Accounting Manager</Name>
    </row>
    <row>
      <ContactTypeID>2</ContactTypeID>
      <ModifiedDate>2002-06-01T00:00:00</ModifiedDate>
      <Name>Assistant Sales Agent</Name>
    </row>
    <row>
      <ContactTypeID>3</ContactTypeID>
      <ModifiedDate>2002-06-01T00:00:00</ModifiedDate>
      <Name>Assistant Sales Representative</Name>
    </row>
    <row>
      <ContactTypeID>4</ContactTypeID>
      <ModifiedDate>2002-06-01T00:00:00</ModifiedDate>
      <Name>Coordinator Foreign Markets</Name>
    </row>
    <row>
      <ContactTypeID>5</ContactTypeID>
      <ModifiedDate>2002-06-01T00:00:00</ModifiedDate>
      <Name>Export Administrator</Name>
    </row>

    path的用法:用来指定行结点,如果不指定行节点,默认使用'row',

    sql:

      select top 5 p.ContactTypeID,p.ModifiedDate,p.Name from [Person].[ContactType] p for xml path('AA')

    显示结果:

    <AA>
      <ContactTypeID>1</ContactTypeID>
      <ModifiedDate>2002-06-01T00:00:00</ModifiedDate>
      <Name>Accounting Manager</Name>
    </AA>
    <AA>
      <ContactTypeID>2</ContactTypeID>
      <ModifiedDate>2002-06-01T00:00:00</ModifiedDate>
      <Name>Assistant Sales Agent</Name>
    </AA>
    <AA>
      <ContactTypeID>3</ContactTypeID>
      <ModifiedDate>2002-06-01T00:00:00</ModifiedDate>
      <Name>Assistant Sales Representative</Name>
    </AA>
    <AA>
      <ContactTypeID>4</ContactTypeID>
      <ModifiedDate>2002-06-01T00:00:00</ModifiedDate>
      <Name>Coordinator Foreign Markets</Name>
    </AA>
    <AA>
      <ContactTypeID>5</ContactTypeID>
      <ModifiedDate>2002-06-01T00:00:00</ModifiedDate>
      <Name>Export Administrator</Name>
    </AA>

    下来来利用 for xml path 输出结果就是一行字符串,如果去掉行节点就可以把整列的结果输出一行,

    sql :

    select top 5 '['+ p.Name+']' from [Person].[ContactType] p for xml path('')

    显示结果: [Accounting Manager][Assistant Sales Agent][Assistant Sales Representative][Coordinator Foreign Markets][Export Administrator]

    这个可用来 一行来显示明细表中的信息,通常主表和细表是一对多的关系,把细表中的多用 for xml path 输出为一列,加到主表中一起输出。

  • 相关阅读:
    一个简易的四则运算单元...(15.12.15 BUG更新)
    转一个PDevMode格式属性说明...
    正则表达式语法
    模拟键盘发送文字
    一个修改过简化版的InputQuery
    获取进程列表的单元
    获取EMF文件内全部文字, 并按照左上到右下的顺序排序
    非主窗体在任务栏显示按钮
    禁用窗体关闭按钮
    一个支持FMX.Win框架的托盘控件
  • 原文地址:https://www.cnblogs.com/langhua/p/4193161.html
Copyright © 2011-2022 走看看