根据类型计算 SQL 服务器用户创建的函数

Count SQL Server User Created Functions based on Type

我可以使用

计算 SQL 服务器中用户创建的函数总数
SELECT COUNT(*)
FROM information_schema.routines
WHERE routine_type = 'FUNCTION'

但是这个 returns 所有函数,无论它是标量值函数、内联函数还是 table 值函数

有没有办法获得特定于函数类型的计数?例如。只计算内联函数?

您所追求的区别是 SQL 服务器特有的,可能未包含在 information_schema 标准中。您需要查看系统视图:

select o.type_desc, count(*)
from sys.objects o
where o.type in ('AF', 'FN', 'FS', 'FT', 'IF', 'TF')
group by o.type_desc
order by o.type_desc;

根据您使用的 SQL 服务器的版本,可用对象类型列表可能会有所不同。请咨询 documentation 了解您的版本。