https://docs.microsoft.com/en-us/sql/t-sql/statements/create-aggregate-transact-sql?view=sql-server-ver15
说明:本文依据网络转载整理而成,因为时间关系,其中原理暂时并未深入研究,只是整理备份留个记录而已。
目标:在SQL Server中自定义聚合函数,在Group BY语句中 ,不是单纯的SUM和MAX等运算,可以加入拼接字符串。
环境:
1:Sqlserver 2008 R2
2:Visual Studio 2013
第一部分:
.net代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 |
|
编译生成DLL,注意:SqlServer 2008 R2 不支持.Net Framework 4.5 ,所以生成dll的时候选在.net framework 3.5
第二步:启用数据库对CLR支持的配置
1 2 3 |
|
第三步:加载CLR程序集并创建自定义函数
1 2 3 4 5 |
|
第四步:测试
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|