Возможно ли перегрузить функции SQL Server?

8

Можно ли перегрузить функцию сервера sql? Или скаляр, как ltrim, или агрегатная функция, как count?

Даже если это была действительно очень плохая идея. Является ли это возможным?

Что-то вроде дубликата перегруженной пользовательской функции T-SQL? Я бы сказал, что это не 100% дубликат, так как это было в версии 2005 года. Может быть, это изменилось?

Энтони Дженовезе
источник

Ответы:

10

Не существует прямого способа карт-бланша, перекрывающего встроенную функцию в SQL Server.

Вы можете вид подделки это путь создания функции с тем же именем в другой схеме, то вызов этой функции с именем схемы , как:

SELECT dbo.COUNT(1)
FROM dbo.SomeTable st
GROUP BY st.SomeCol;

Тем не менее, это вполне может вызвать больше путаницы, чем оно того стоит.

Макс Вернон
источник
5
И если вам все равно придется изменить код для использования имени схемы, вы можете также изменить его, чтобы ссылаться на пользовательскую функцию с другим именем.
BradC
1
Полностью согласен, @BradC - в общем, попытка перегрузки в SQL Server - плохая идея.
Макс Вернон,