.NET SQL Server UDF Windowing
本文关键字:Windowing UDF Server SQL NET | 更新日期: 2023-09-27 18:27:57
是否可以创建一个C#SQL Server UDF来执行类似于内置Windowing函数的功能?
例如,我想写一个函数来计算移动平均值。在这里,我找到的唯一一个.NET UDF文档显示了一个简单的值输入。
然而,对于我的50天移动平均线,我需要每一行的值,以及前面的49。
如果使用SQL 2012或更高版本,则可以将ROWS PRECEDING
选项与AVG
一起使用
SELECT
AVG([your column]) OVER (
ORDER BY [your date]
ROWS BETWEEN 50 PRECEDING AND CURRENT ROW) AS [Rolling 50 Day Average]
FROM [your table]
至于使用带窗口的SQLCLR UDF,看起来唯一支持的功能是PARTITION BY
是否可以将用户定义的聚合(clr)与窗口函数(over)一起使用?