SQLServer2000的自定义聚合函数(转)

本文涉及的产品
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
云数据库 RDS SQL Server,基础系列 2核4GB
简介: --和行转列的应用效果差不多了,统计结果中可能会用到--测试表create table Test(F1 varchar(10), F2 varchar(10)) go --插入数据insert into Test select 'jack' F1,'book1' F2unionselect 'jac...

--和行转列的应用效果差不多了,统计结果中可能会用到
--测试表
create table Test
(F1 varchar(10),
F2 varchar(10))

go


--插入数据
insert into Test
select 'jack' F1,'book1' F2
union
select 'jack' F1,'book2' F2
union
select 'jack' F1,'book3' F2
union
select 'Mary' F1,'book4' F2
union
select 'Mary' F1,'book5' F2
union
select 'Mike' F1,'book1' F2
union
select 'Mike' F1,'book5' F2
union
select 'Mike' F1,'book7' F2
union
select 'Mike' F1,'book9' F2
--一条动态SQL语句

go
--合并函数
CREATE FUNCTION MergeCharField(@Group varchar(255))
RETURNS varchar(8000)
AS
BEGIN
DECLARE @r varchar(8000)
SET @r=''
SELECT @r=@r+','+rtrim(F2) FROM Test WHERE F1=@Group

RETURN(substring(@r,2,8000))
END
GO
--调用
select F1 [name],dbo.MergeCharField(F1) [book] from test group by F1
--删除测试环境
drop table test
drop FUNCTION MergeCharField
/*
name     book
--------------------------
jack       book1,book2,book3
Mary     book4,book5
Mike     book1,book5,book7,book9
*/

相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
目录
相关文章
|
SQL 存储 数据库
数据库原理与应用(SQL Server)笔记 第八章 用户自定义数据类型与变量
数据库原理与应用(SQL Server)笔记 第八章 用户自定义数据类型与变量
数据库原理与应用(SQL Server)笔记 第八章 用户自定义数据类型与变量
|
SQL Go 索引
SQL Server 自定义字符串分割函数
原文:SQL Server 自定义字符串分割函数 一、按指定符号分割字符串,返回分割后的元素个数,方法很简单,就是看字符串中存在多少个分隔符号,然后再加一,就是要求的结果(标量值函数)   1 create function Func_StrArrayLength 2 ( ...
1090 0
|
SQL 监控 Go
SQL Server如何定位自定义标量函数被那个SQL调用次数最多浅析
前阵子遇到一个很是棘手的问题,监控系统DPA发现某个自定义标量函数被调用的次数非常高,高到一个离谱的程度。然后在Troubleshooting这个问题的时候,确实遇到了一些问题让我很是纠结,下文是解决问题过程的一点思索和尝试,如果你有更好的思路和解决方法,也请多多指教。
1293 0
|
SQL 监控 Go
SQL Server如何定位自定义标量函数被那个SQL调用次数最多浅析
原文:SQL Server如何定位自定义标量函数被那个SQL调用次数最多浅析 前阵子遇到一个很是棘手的问题,监控系统DPA发现某个自定义标量函数被调用的次数非常高,高到一个离谱的程度。然后在Troubleshooting这个问题的时候,确实遇到了一些问题让我很是纠结,下文是解决问题过程的一点思索和尝试,如果你有更好的思路和解决方法,也请多多指教。
987 0
|
SQL
SQL Server中使用自定义指定顺序排序
原文:SQL Server中使用自定义指定顺序排序 比如需要对SQL表中的字段NAME进行如下的排序:张三(Z)李四(L)王五(W)赵六(Z)   如果想按 “ 张三、李四、王五、赵六”的顺序排序,则可以使用以下语句: order by charindex(NAME,‘张三李四王五赵六’)
3497 0
|
SQL 存储 .NET
SQL Server CLR 使用 C# 自定义存储过程和触发器
原文:SQL Server CLR 使用 C# 自定义存储过程和触发器 这一篇博客接着上一篇博客继续介绍 SQL CLR Stored Procedure 和 CLR Trigger, 上一篇博客介绍了 SQL CLR Function 的使用,以及 CLR 程序集的注册和 CLR Function 的注册。
1006 0