MSSQL 通过FOR XML PATH 模仿MYSQL的 group_concat 函数,將纪录值合并成字符串
2015-10-14 12:14
561 查看
MSSQL 通过FOR XML PATH 模仿MYSQL的 group_concat 函数,將纪录值合并成字符串
stuff(字符串表达式1,开始位置,长度,字符串表达式2):在字符串表达式1中在指定的开始位置删除指定长度的字符,并在指定的开始位置处插入字符串表达式2。返回新字符串。
select N','+ s from tbl FOR XML PATH('')將tbl 表的 S字段查询出来,并用xml格式表示, 中间用 , 隔开。
PATH('') 括号中表示字段值前后添加何种标签。
MYSQL 提供了直接分组合并的函数
select id, group_concat(s, ',') as s from tbl group by id
;with tbl(id, s, sort) as ( select 1, '广东省', 3 union all select 1, '广州市', 2 union all select 1, '越秀区', 1 union all select 2, '北京市', 2 union all select 2, '朝阳区', 1 ) select id, ( stuff((select N','+ s from tbl where id=t.id order by sort desc FOR XML PATH('')), 1, 1, N'') ) as xmls from tbl as t group by t.id order by t.id
stuff(字符串表达式1,开始位置,长度,字符串表达式2):在字符串表达式1中在指定的开始位置删除指定长度的字符,并在指定的开始位置处插入字符串表达式2。返回新字符串。
select N','+ s from tbl FOR XML PATH('')將tbl 表的 S字段查询出来,并用xml格式表示, 中间用 , 隔开。
PATH('') 括号中表示字段值前后添加何种标签。
MYSQL 提供了直接分组合并的函数
select id, group_concat(s, ',') as s from tbl group by id
相关文章推荐
- MySql记录一(从安装开始)
- MySql:增删改查(CRUD)以及乱码编码解决(2)
- Mysql修改&设置密码
- mysql 按照 where id IN (42,25,26,27) 按照顺序查找id 的办法
- MySQL学习笔记11:运算符
- MySQL学习笔记10:修改数据
- MySQL乱码
- MySQL学习笔记9:连接查询
- MySql5.0命令全集
- MySQL学习笔记8:函数查询
- ofbiz 安装以及使用mysql数据库
- MySQL学习笔记7:基本查询
- MySQL学习笔记6:索引
- WAMP启动后MySQL不能启动的问题
- mysql练习语句
- Mysql5.6.22源代码安装
- excel导入mysql
- MySQL数据类型和常用字段属性总结
- MySQL安装未响应解决方法
- 基于MYSQL-GTID主从复制