是否可以重载 SQL Server 函数?

Ant*_*ese 8 sql-server functions

是否可以重载 sql server 函数?是标量,如 ltrim,还是聚合函数,如计数?

即使这是一个非常非常糟糕的主意。是否可以?

有点重复T-SQL 用户定义的函数重载?我会说它不是 100% 重复,因为那是 2005 年的版本。也许这已经改变了?

Han*_*non 10

没有直接的方法可以全权覆盖 SQL Server 中的内置函数。

您可以通过在不同模式中创建一个具有相同名称的函数伪造它,然后使用模式名称调用该函数,如下所示:

SELECT dbo.COUNT(1)
FROM dbo.SomeTable st
GROUP BY st.SomeCol;
Run Code Online (Sandbox Code Playgroud)

然而,这很可能会导致更多的混乱。

  • 而且,如果您无论如何都必须更改代码以使用模式名称,则最好将其更改为引用不同名称的用户函数。 (6认同)