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>
Sql Server 之 for xml (path,raw,auto,root)的更多相关文章
- sql server的for xml path与变通的行转列
SQL Server中有提供一个FOR XML PATH的子句(不知道能不能叫函数),用来将查询结果行输出成XML格式,我们可以通过这个语法做一些变通实现一些特定的功能,比如说行转列.要会变通的话,当 ...
- sql server 使用for xml path 将1列多行转换为字符串连接起来,俗称 sql 合并字符
由于项目的原因,需要将一些记录分类汇总,但还要列出相关的明细,这样的需求我还是第一次遇到,蛋疼了,还是请求一下度娘吧.搜索一番还是有结果,请看以下例子: create table tb ([id] i ...
- sql server 使用for xml path 将1列多行转换为字符串连接起来
create table tb ([id] )) insert into tb ,'aa' union all ,'bb' union all ,'cc' union all ,'dd' union ...
- sql server中对xml进行操作
一.前言 SQL Server 2005 引入了一种称为 XML 的本机数据类型.用户可以创建这样的表,它在关系列之外还有一个或多个 XML 类型的列:此外,还允许带有变量和参数.为了更好地支持 XM ...
- SQL Server 2005的XML数据修改语言(XML DML)
转:http://www.microsoft.com/china/msdn/library/data/sqlserver/XMLDML.mspx?mfr=true 作为对XQuery语言的扩展,XML ...
- SQL Server 2008 对XML 数据类型操作
原文 http://www.cnblogs.com/qinjian123/p/3240702.html 一.前言 从 SQL Server 2005 开始,就增加了 xml 字段类型,也就是说可以直接 ...
- sql中的for xml path() 实现字符串拼接
通常我们需要在sql中拼接字符串 ,可以用for xml path() 来进行拼接,如下实例. 同时未去掉最后一个逗号可以用LEFT函数来实现. ) AS UserName FRO ...
- (4.31)sql server中的xml数据操作
关键词:xml数据转为行列方式显示 常规案例: declare @data xml declare @h int set @data=' <bookstore> <row> & ...
- SQL字符串拼接FOR XML PATH
在工作中难免会遇到数据库中数据要进行拼接的问题,字符串拼接可以是用SQL的拼接也可以使用C#的拼接,本次说的是使用SQL进行拼接. 首先插入测试语句: --测试语句,准备创建表的语句:如下 CREAT ...
随机推荐
- 坑备忘error: expected class-name before '{' token
今日重构之前的代码,修改了命名空间,然后一处派生的子类定义处总是总是报error: expected class-name before '{' token,网上查了查原因,出现这种情况大致有两种情况 ...
- 错误 java.lang.ClassCastException: com.ylpw.sms.YZZYSenderUtil cannot be cast to ResourceBundle
出现错误: java.lang.ClassCastException: com.ylpw.sms.YZZYSenderUtil cannot be cast to ResourceBundle 百度搜 ...
- 第一个C语言程序
从第一个C语言程序了解C语言 了解关键字 了解函数 注释 C语言的执行流程 标识符 C语言的学习重难点 从第一个C语言程序了解C语言 上图是一个在控制台上显示“Hello, World!”的C语言源代 ...
- Thymeleaf+Spring整合
前言 这个教程介绍了Thymeleaf与Spring框架的集成,特别是SpringMvc框架. 注意Thymeleaf支持同Spring框架的3.和4.版本的集成,但是这两个版本的支持是封装在thym ...
- VS 2015 localhost访问有效 改用 IP访问 400错误 invalid hostname 修改方法
今天新起站点发现在Chrome浏览器中,通过localhost访问是有效的,但是通过本机IP甚至127.0.0.1访问无效, 报的错误是400 Bad Request Invalid HostName ...
- JAVA动手动脑多态
动手实验一:下列语句哪一个将引起编译错误?为什么?哪一个会引起运行时错误?为什么? m=d; d=m; d=(Dog)m; d=c; c=(Cat)m; 先进行自我判断,得出结论后,运行TestCas ...
- [css]水平垂直居中的方法
1.top:cale(50% - 2rem); left:cale(50% - 2rem);
- Bootstrap <基础二十六>进度条
Bootstrap 进度条.在本教程中,你将看到如何使用 Bootstrap 创建加载.重定向或动作状态的进度条. Bootstrap 进度条使用 CSS3 过渡和动画来获得该效果.Internet ...
- 初学3D Touch
引言 With iOS 9, new iPhone models add a third dimension to the user interface. A user can now press y ...
- 关于C#的内存释放问题
最近在做一个要循环读取xml文件的功能. 想法是读取一个文件,释放一个文件,这样就不会消耗太多内存. 结果运行起来内存不停涨,最后内存溢出.用gc,disponse,异步都没有用. 后来改成relea ...