1

агрегатные функции являются полезными, например .:Определенная пользователем функция агрегации в T-SQL вместо сборки .net?

select FinancialYear, PLFolder, Sum(PLDelta) SumDelta 
from PL group by FinancialYear, PLFolder 

однако, иногда мне нужно сделать более сложные вычисления, например, вычисления волатильности.

Это может быть сделано с помощью функции User Defined Aggregate, запрограммированной на C#, скомпилированной как сборка CLR, а затем импортированной в MSSQL.

Возможно ли это сделать в чистом T-SQL?

+0

Не легко ли волатильность рассчитываться с помощью других агрегатных функций? –

+0

это просто пример, например, для вычисления числа квантилей, но вместо того, чтобы следовать логике mssql «сверху 5%», требующей некоторой интерполяции ... – athos

+1

Нет, это невозможно –

ответ

6

No.

Единственный способ писать пользовательские агрегаты через SQLCLR. Существуют технические причины этого ограничения, в первую очередь связанные с необходимостью агрегата иметь состояние.

Смежные вопросы