在SQL2005中输出逗号连接的字符串
来源:互联网 发布:客车订票用什么软件 编辑:程序博客网 时间:2024/05/17 23:12
直接上SQL
select stuff((select ','+CAST([Id] as varchar) from EventLogfor XML Path('Logs'),Type).value('.','varchar(max)'),1,1,'')
1,2,3,4,5,6,7,8,9,10,11,12,13,14
上面的SQL中 EventLog是一个Table,[Id]是其中一个字段名。
select 子句作用是用逗号连接每一个查询出来的[Id],for XML Path('') 子句是将查询结晒输出为XML,Type 的作用是使输出的内容为XML DOM,这就可以使用点运算符调用value()函数,将XML中的”值“提取,并使用逗号连接起来。
外层的Select子句,使用Stuff函数,将从下标为1,长度为1的字符去掉,并使用一个空白字符代替。
查询结果的顺序:
A
select ','+CAST([Id] as varchar) from EventLogfor XML Path('Logs'),Type
<Logs>,1</Logs><Logs>,2</Logs><Logs>,3</Logs><Logs>,4</Logs><Logs>,5</Logs><Logs>,6</Logs><Logs>,7</Logs><Logs>,8</Logs><Logs>,9</Logs><Logs>,10</Logs><Logs>,11</Logs><Logs>,12</Logs><Logs>,13</Logs><Logs>,14</Logs>
B:
select (select ','+CAST([Id] as varchar) from EventLogfor XML Path('Logs'),Type).value('.','varchar(max)')
,1,2,3,4,5,6,7,8,9,10,11,12,13,14C:
select stuff((select ','+CAST([Id] as varchar) from EventLogfor XML Path('Logs'),Type).value('.','varchar(max)'),1,1,'')
1,2,3,4,5,6,7,8,9,10,11,12,13,14
如果不好理解可以自行查询MSDN及建一个表测试一下。
Stuff函数参考:
http://msdn.microsoft.com/en-us/library/ms188043.aspx
- 在SQL2005中输出逗号连接的字符串
- java中字符串倒序加逗号输出
- 在使用逗号连接的时候,切割最后一个逗号
- SQL2005连接字符串
- sql2005 连接字符串
- 验证目标字符串是否在以逗号分割的字符串中
- 在makefile中定义逗号字符串和空格字符串
- 计算字符串中各个逗号的位置
- JavaScript: 在 /* */ 中输出想要的字符串
- 以逗号拼接的字符串,如何使用for循环输出?
- Sqlserver列的内容连接为字符串用逗号分隔
- JAVA将逗号连接的字符串转换为Map
- SQL2005已成功与服务器建立连接,但是在登录过程中发生错误的解决方案
- 在数字字符串中按每三位添加一个逗号
- 在Excel中连接字符串的方法
- SQL2005 SSIS-在脚本组件中访问数据连接
- SQL2005 SSIS-在脚本组件中访问数据连接
- 在Win Server2003中SQL2005连接端口1433总是失败
- 某XXFS分布式文件系统设计概述
- 影响Java EE性能的十大问题
- nyoj 511 双向静态链表
- linux 用户管理
- PHP网络编程技术与实例
- 在SQL2005中输出逗号连接的字符串
- MSComm1->Input 二進制模式
- ios6和iphone5的适配<1>之UI适配
- FastReport 中文菜单显示不全或者乱码解决方法
- C/C++中的时间结构
- ios6和iphone5的适配<2>之UIActivityIndicatorView
- 男人就该对自己狠一点
- sicily 1006 Team Rankings
- hdu 3663 Power Stations【DLX】