佳佳的博客
Menu
首页
【SqlServer】FOR XML PATH
Posted by
佳佳
on 2016-04-16
IT
SQL
SQL Server
**将查询结果集以XML形式展现,也可以自定义输出格式** #### 格式 ```sql SELECT * FROM TABLENAME FOR XML PATH ``` #### 改变XML行节点的名称 ```sql SELECT * FROM TABLENAME FOR XML PATH('MyHobby') SELECT hobbyID AS 'MyCode', hName AS 'MyName' FROM TABLENAME FOR XML PATH('MyHobby') ``` #### 自定义输出方式 ```sql SELECT '[ '+hName+' ]' FROM TABLENAME FOR XML PATH('') ``` #### 逗号拼接 ```sql SELECT B.sName, ISNULL(STUFF(StuList,1,1,''), '') AS hobby FROM ( SELECT sName, (SELECT ',' + hobby FROM student WHERE sName=A.sName FOR XML PATH('')) AS StuList FROM student A GROUP BY sName ) B ``` 原文:http://www.cnblogs.com/doubleliang/archive/2011/07/06/2098775.html
版权声明:原创文章,未经允许不得转载。
https://www.liujiajia.me/2016/4/16/【sqlserver】for-xml-path
“Buy me a nongfu spring”
« 【JavaScript】如何判断页面元素是否在可见区域内?
Visual Studio Code 1.0 正式发布啦! »
Commented by
飞向上帝的板砖
on 2016-04-18
@佳佳
回复
之前在五楼碰到过要用这个`XML PATH`,用作中间变量
Commented by
佳佳
on 2016-04-18
回复
子查询太多,感觉效率不高的样子.
Commented by
飞向上帝的板砖
on 2016-04-18
@佳佳
回复
我们那次貌似只能用`XML PATH`,情况是需要把几条(>=3)`GROUP`出来的记录的某一个字段合成一条
Commented by
佳佳
on 2016-04-18
回复
可以取出来之后再自己合并,减轻DB服务器的压力
Commented by
飞向上帝的板砖
on 2016-04-18
@佳佳
回复
就操作一次,原始人才手动操作啊
Commented by
佳佳
on 2016-04-18
回复
数据少的话无所谓,多的话会让服务器变卡. 现在基本上都是DB服务器是瓶颈,应该避免变成慢查询.
Commented by
飞向上帝的板砖
on 2016-04-18
@佳佳
回复
哦哦
昵称
*
电子邮箱
*
回复内容
*
(回复审核后才会显示)
提交
目录
AUTHOR
刘佳佳
江苏 - 苏州
软件工程师
飞向上帝的板砖
on 2016-04-18 @佳佳 回复佳佳
on 2016-04-18 回复飞向上帝的板砖
on 2016-04-18 @佳佳 回复佳佳
on 2016-04-18 回复飞向上帝的板砖
on 2016-04-18 @佳佳 回复佳佳
on 2016-04-18 回复飞向上帝的板砖
on 2016-04-18 @佳佳 回复