FOR XML 各种用法
来源:互联网 发布:nginx static 配置 编辑:程序博客网 时间:2024/05/29 05:03
http://blog.csdn.net/zhaowenzhong/article/details/6044512
-SQL中FOR XML子句的各种用法
1、AUTO模式:返回数据表为起表名的元素,每一列的值返回为属性;
SELECT * FROM tb_test for xml auto
2、RAW模式:返回数据行为元素,每一列的值作为元素的属性;
SELECT * FROM tb_test for xml raw('fsf')
3、PATH模式:通过简单的XPath语法来允许用户自定义嵌套的XML结构、元素、属性值
SELECT * FROM tb_test for xml path('fsf')
4、EXPLICIT模式:通过SELECT语法定义输出XML的结构
----最常用的就是合并字符串 的案例
-----------------以某列为基准,将其他列的内容合并成指定格式(如:q,w,e,r,t)放到一列中
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[tb_test]')
AND type in (N'U'))
CREATE TABLE tb_test(id int, value varchar(10))
INSERT tb_test SELECT 1, 'aa'
UNION ALL SELECT 1, 'bb'
UNION ALL SELECT 2, 'aaa'
UNION ALL SELECT 2, 'bbb'
UNION ALL SELECT 2, 'ccc'
UNION ALL SELECT 3, 'ddd'
UNION ALL SELECT 3, 'ddd'
--方法1
SELECT *
FROM (SELECT DISTINCT id FROM tb_test) A OUTER APPLY(
SELECT value= STUFF(REPLACE(REPLACE(
(
SELECT value FROM tb_test aa
WHERE id = A.id
FOR XML AUTO
), '<N value="', ','), '"/>', ''), 1, 1, '')
)aa
----方法2
SELECT id, value=STUFF((SELECT ','+value FROM tb_test t WHERE id=tb_test.id FOR XML PATH('')), 1, 1, '')
FROM tb_test
GROUP BY id
-----------------以某列为基准,将其他列的内容合并成指定格式(如:q,w,e,r,t)放到一列中
- FOR XML 各种用法
- FOR XML 各种用法
- SQL FOR XML子句的各种用法
- SQL FOR XML子句的各种用法
- 详解SQL中FOR XML子句的各种用法
- 合并字符串和FOR XML子句的各种用法
- 详解SQL中FOR XML子句的各种用法
- 详解for循环(各种用法)
- Sql中的for xml用法
- sql for xml path用法
- SQL FOR XML PATH 用法
- sql for xml path用法
- sql for xml path用法
- MSSQL FOR XML PATH 用法
- sql for xml path用法
- sqlserver for xml path用法
- XML--解析xml各种用法区别及用法汇总
- 详解for循环(各种用法)
- 【quick】quick-cocos2d-x导入sproto并重新编译player
- 网络下载-断点续传原理
- ZOJ-3203-Light Bulb【6th浙江省赛】【数学公式】【三分】
- 局部变量,静态局部变量,全局变量,静态全局变量在内存中的存放区别
- 支付宝集成
- FOR XML 各种用法
- Linux 之 awk 命令
- 设计模式-建造者模式
- 线程-消息回环处理机制
- BZOJ1693Asteroids
- 学术组织与机构
- 1022. Digital Library (30)
- ZOJ-3204-Connect them【6th浙江省赛】【最小生成树】
- STM32-GPIO—JTAG