FOR XML PATH 语句 :(应该在sql2005及以上版本才能用)
declare @t table(id int,name varchar)
insert into @t(id,name) values(1,'a')
insert into @t(id,name) values(2,'b')
select id,name from @t for xml path
运行结果如下:
<row>
<id>1</id>
<name>a</name>
</row>
<row>
<id>2</id>
<name>b</name>
</row>
select id,name from @t for xml path('node')
运行结果如下:
<node>
<id>1</id>
<name>a</name>
</node>
<node>
<id>2</id>
<name>b</name>
</node>
下面我要做一个分组统计:
declare @student table(class varchar(10),name varchar(10))
insert into @student(class,name) values('1班','张三')
insert into @student(class,name) values('2班','李四')
insert into @student(class,name) values('1班','王五')
insert into @student(class,name) values('2班','郭佳')
insert into @student(class,name) values('3班','吴亮')
select
class,
STUFF((select ','+name from @student where class=stu.class for xml path('')),1,1,'') names
from @student stu
group by class
order by class
运行结果如下:
1班 张三,王五
2班 李四,郭佳
3班 吴亮
同样的效果还可以换一种方式实现:
select class,RIGHT(names,LEN(names)-1) from
(
select
class,
(select ','+name from @student where class=stu.class for xml path('')) names
from @student stu
group by class
) stu
order by class
运行结果如下:
1班 张三,王五
2班 李四,郭佳
3班 吴亮
STUFF用法
1、作用
删除指定长度的字符,并在指定的起点处插入另一组字符。
2、语法
STUFF ( character_expression , start , length ,character_expression )
3、示例
以下示例在第一个字符串 abcdef 中删除从第 2 个位置(字符 b)开始的三个字符,然后在删除的起始位置插入第二个字符串,从而创建并返回一个字符串
SELECT STUFF('abcdef', 2, 3, 'ijklmn')
GO
下面是结果集
aijklmnef
分享到:
相关推荐
在SQL Server中利用 FOR XML PATH 语句能够把查询的数据生成XML数据,下面是它的一些应用示例。…………
大家都知道在SQL Server中利用 FOR XML PATH 语句能够把查询的数据生成XML数据,下面是它的一些应用示例。
理想查询表结果 一很牛的朋友写的sql语句大笑,学习啦偷笑: select userpwd,username=stuff((select ‘,’+username from tuser t1 where t1.userpwd=t.userpwd for xml path(”)),1,1,”) from tuser t group by ...
--4、FOR XML PATH 语句的应用 --5、一些有用的系统存储过程及用法 --6、关于死锁 --7、添加远程服务器 --8、日期的相关操作 --字符转换为日期时,Style的使用 --复杂年月处理 --日期格式化处理 --日期推算处理 --...
1、本地执行代码生成工具,可生成controller、service、...3、可按照资源中提供的建表sql导入到数据库,然后双加start.bat,即可在上方配置的outdir目录中找到生成的代码 4、复制代码到项目目录修修改改即可使用
本节介绍有关安装 .NET Framework 2.0、SQL Server Express 以及可用于连接到 SQL Server Express 的工具的信息。 2.1 .NET Framework 2.0 在安装 SQL Server Express 之前,必须安装 .NET Framework 2.0。 SQL ...
10.2.1 在try-catch语句中处理异常 343 10.2.2 使用requestdispatcher来处理异常 346 10.3 小结 349 第11章 开发线程安全的servlet 350 11.1 多线程的servlet模型 350 11.2 线程安全的servlet 351 11.2.1 变量...
10.2.1 在try-catch语句中处理异常 343 10.2.2 使用requestdispatcher来处理异常 346 10.3 小结 349 第11章 开发线程安全的servlet 350 11.1 多线程的servlet模型 350 11.2 线程安全的servlet 351 11.2.1 变量...
10.2.1 在try-catch语句中处理异常 343 10.2.2 使用requestdispatcher来处理异常 346 10.3 小结 349 第11章 开发线程安全的servlet 350 11.1 多线程的servlet模型 350 11.2 线程安全的servlet 351 11.2.1 变量...
10.2.1 在try-catch语句中处理异常 343 10.2.2 使用requestdispatcher来处理异常 346 10.3 小结 349 第11章 开发线程安全的servlet 350 11.1 多线程的servlet模型 350 11.2 线程安全的servlet 351 11.2.1 变量...
,RDLC直接打印帮助类,ResourceManager,RMB,SqlHelper,SQL语句拦截器,URL的操作类,VerifyCode,XML操作类,上传下载,二维码操作类,共用工具类,其他,分词辅助类,分页 ,加密解密,压缩解压缩,各种验证帮助类,图片,图片操作...
1.3.5 for语句——循环语句 32 1.3.6 foreach语句——枚举一个集合的元素 33 1.3.7 goto语句——跳转到标签 34 1.3.8 if…else语句——条件判断语句 36 1.3.9 return语句——返回 38 1.3.10 switch case语句——条件...
3 、生成建表的 SQL 语句并建表 这个构建文件${jbpm.home}/db/build.xml包含了脚本 用来创建和删除数据库结构的操作。 进入到这个目录下,运行ant -p 可以获得更多细节。 你的数据库中创建表结构: 首先,更新${jbpm...