T-SQL 中的用户定义聚合函数而不是 .net 程序集? [复制]
Posted
技术标签:
【中文标题】T-SQL 中的用户定义聚合函数而不是 .net 程序集? [复制]【英文标题】:User Defined Aggregate Function in T-SQL instead of .net assembly? [duplicate] 【发布时间】:2013-03-15 03:37:11 【问题描述】:聚合函数很有用,例如:
select FinancialYear, PLFolder, Sum(PLDelta) SumDelta
from PL group by FinancialYear, PLFolder
但是,有时我需要进行更复杂的计算,例如计算波动率。
这可以通过用户定义的聚合函数来完成,用 C# 编程,编译为 CLR 程序集,然后导入 MSSQL。
是否可以在纯 T-SQL 中做到这一点?
【问题讨论】:
波动率不是很容易用其他聚合函数计算吗? 这只是一个例子,例如计算一个分位数,但不是遵循mssql内置的“top 5%”逻辑,需要一些插值... 不,不可能 【参考方案1】:没有。
编写自定义聚合的唯一方法是通过 SQLCLR。此限制背后有技术原因,主要与聚合需要具有状态有关。
【讨论】:
以上是关于T-SQL 中的用户定义聚合函数而不是 .net 程序集? [复制]的主要内容,如果未能解决你的问题,请参考以下文章