Sql Server 之 for xml (path,raw,auto,root)

1、for xml path(‘str‘)

select ID,CreateTime  from dbo.ArticleInfo for xml Path(‘mytitle‘)

结果:(注意:如果是select ID,CreateTime from dbo.ArticleInfo for xml path下面的结果中<mytitle>就变为默认的<row>)

<mytitle>
<ID>4</ID>
<CreateTime>2015-02-03T10:44:15.857</CreateTime>
</mytitle>
<mytitle>
<ID>5</ID>
<CreateTime>2015-02-03T14:04:45.093</CreateTime>
</mytitle>

2、for xml path(‘‘)

select ‘[‘+CONVERT(varchar,ID)+‘]‘,‘[‘+Title+‘]‘ from dbo.ArticleInfo  for xml path(‘‘)

结果:

[1][新闻标题1][2][新闻标题2]

3、for xml row(raw : 是以属性的方式显示字段)

select ID,MenuType from ArticleInfo for xml raw

结果:

<row ID="4" MenuType="6" />
<row ID="5" MenuType="5" />
<row ID="6" MenuType="5" />

4、for xml row(‘str‘)(raw : 是以属性的方式显示字段)

select  ID,MenuType  from ArticleInfo  for xml raw(‘mytitle‘)

结果:

<mytitle ID="4" MenuType="6" />
<mytitle ID="5" MenuType="5" />
<mytitle ID="6" MenuType="5" />

5、for xml auto (auto : 是将表名(如:ArticleInfo )作为元素名显示字段)

select  ID,MenuType  from ArticleInfo  for xml auto

<ArticleInfo ID="4" MenuType="6" />
<ArticleInfo ID="5" MenuType="5" />
<ArticleInfo ID="6" MenuType="5" />

6、root(‘str‘)   注:在for  xml path/raw/auto后面用;在查询xml结果基础上增加根节点

select ID,MenuType from ArticleInfo for xml raw,root(‘xmlpath‘)

<xmlpath>
<row ID="4" MenuType="6" />
<row ID="5" MenuType="5" />
<row ID="6" MenuType="5" />
</xmlpath>

7、elements

select ID,MenuType from ArticleInfo for xml raw,root(‘xmlpath‘),elements

<xmlpath>
<row>
<ID>4</ID>
<MenuType>6</MenuType>
</row>
<row>
<ID>5</ID>
<MenuType>5</MenuType>
</row>
</xmlpath>

时间: 2024-10-13 07:24:50

Sql Server 之 for xml (path,raw,auto,root)的相关文章

sql server的for xml path与变通的行转列

SQL Server中有提供一个FOR XML PATH的子句(不知道能不能叫函数),用来将查询结果行输出成XML格式,我们可以通过这个语法做一些变通实现一些特定的功能,比如说行转列.要会变通的话,当然首先是要知道FOR XML PATH的语法. FOR XML PATH的简单语法 假设有一个hobby表(爱好),表中有两个字段,一个是hobbyID(爱好id),一个是hName(爱好名称). 这样,我们执行一条最简单的带FOR XML PATH子句的SQL语句,看看查询出来的结果. SELEC

(转)SQL Server 2005的XML数据修改语言(XML DML) (转自MSDN)

SQL Server 2005的XML数据修改语言(XML DML) 发布日期: 2006-08-14 | 更新日期: 2006-08-14 作者:张洪举 Microsoft MVP 应用于:SQL Server 2005,XML 注:本文章中的内容需要相关的XML和XQuery知识 本页内容 1.insert 2.delete 3.replace 作为对XQuery语言的扩展,XML DML为XML数据操作提供了更大的灵活性,而不再仅仅是对XML数据进行一些查询操作.通过XML DML,用户可

SQL SERVER中对XML进行操作

一.前言 SQL Server 2005 引入了一种称为 XML 的本机数据类型.用户可以创建这样的表,它在关系列之外还有一个或多个 XML 类型的列:此外,还允许带有变量和参数.为了更好地支持 XML 模型特征(例如文档顺序和递归结构),XML 值以内部格式存储为大型二进制对象 (BLOB). 用户将一个XML数据存入数据库的时候,可以使用这个XML的字符串,SQL Server会自动的将这个字符串转化为XML类型,并存储到数据库中. 随着SQL Server 对XML字段的支持,相应的,T-

SQL Server 常用操作XML

--修改FunctionNo节点值,@OperateFunctionNo为参数 set @DataXml.modify('replace value of (/CrudData/FunctionNo/text())[1] with sql:variable("@OperateFunctionNo")') --删除节点 SET @DataXml.modify('delete (/CrudData/DataKey)[1]') --插入节点 SET @DataXml.modify('inse

SQL Server 存储过程解析XML传参 参考方案

1.定义存储过程 -- =============================================--定义存储过程-- =============================================CREATE PROCEDURE [dbo].[UpdateT] -定义xml参数 @xml xmlASBEGINSET NOCOUNT ON; DECLARE @xmlHandle int --输出参数 EXEC sp_xml_preparedocument @xmlHa

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

SQL SERVER中XML查询:FOR XML指定PATH 前言 在SQL SERVER中,XML查询能够指定RAW,AUTO,EXPLICIT,PATH.本文用一些实例介绍SQL SERVER中指定PATH的XML查询. PATH參数 PATH('參数'),參数是用来重命名ROW的,ROW是默认生成的名称. select 'Hui' for xml path  结果:<row>Hui</row> select 'Hui' for xml path ('root') 结果:<

在SQL Server中将数据导出为XML和Json

原文:在SQL Server中将数据导出为XML和Json     有时候需要一次性将SQL Server中的数据导出给其他部门的也许进行关联或分析,这种需求对于SSIS来说当然是非常简单,但很多时候仅仅需要一次性导出这些数据而建立一个SSIS包就显得小题大做,而SQL Server的导入导出工具其中BUG还是蛮多的,最简单的办法是BCP.   数据导出为XML     在SQL Server 2005之后提供了一个for xml子句在关系数据库中原生支持XML.通过该命令可以将二维关系结果集转

Querying Microsoft SQL Server 2012 读书笔记:查询和管理XML数据 2 -使用XQuery 查询XML数据

原文:Querying Microsoft SQL Server 2012 读书笔记:查询和管理XML数据 2 -使用XQuery 查询XML数据 XQuery 是一个浏览/返回XML实例的标准语言. 它比老的只能简单处理节点的XPath表达式更丰富. 你可以同XPath一样使用.或是遍历所有节点,塑造XML实例的返回等. 作为一个查询语言, 你需要一个查询处理引擎. SQL Server 数据库通过XML数据类型方法的T-SQL 语句来处理XQuery. SQL Server 并不支持所有的X

SQL Server 将数据导出为XML和Json

有时候需要一次性将SQL Server中的数据导出给其他部门的也许进行关联或分析,这种需求对于SSIS来说当然是非常简单,但很多时候仅仅需要一次性导出这些数据而建立一个SSIS包就显得小题大做,而SQL Server的导入导出工具其中BUG还是蛮多的,最简单的办法是BCP. 数据导出为XML 在SQL Server 2005之后提供了一个for xml子句在关系数据库中原生支持XML.通过该命令可以将二维关系结果集转换为XML,通过BCP就可以将数据存为XML了. 例如下面的数据: 我们可以通过