¿Es posible sobrecargar las funciones de SQL Server?

8

¿Es posible sobrecargar una función de servidor sql? ¿Una función escalar, como ltrim, o agregada, como count?

Incluso si esto fuera una muy, muy, mala idea. ¿Es posible?

¿Un duplicado de la sobrecarga de funciones definidas por el usuario de T-SQL? Yo diría que no es 100% un duplicado, ya que fue para la versión 2005. Tal vez esto ha cambiado?

Anthony Genovese
fuente

Respuestas:

10

No hay una forma directa de carte-blanche que anule una función integrada en SQL Server.

Puede especie de falsa mediante la creación de una función con el mismo nombre en un esquema diferente, a continuación, llamar a esa función con el nombre de esquema , como en:

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

Sin embargo, es muy probable que esto cause más confusión de lo que vale.

Max Vernon
fuente
55
Y si va a tener que cambiar el código para usar el nombre del esquema de todos modos, también puede cambiarlo para referirse a una función de usuario con un nombre diferente.
BradC
1
Completamente de acuerdo, @BradC: en general, es una mala idea intentar sobrecargar en SQL Server.
Max Vernon