You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在SQL Server中通过编程方式获取所有内置函数及类型?

编程获取SQL Server内置函数列表

微软的SQL API文档确实更适合人工查阅,但可以通过查询特定系统视图来编程获取带类型的内置函数列表。你之前尝试的几个视图找不到ISNULL这类函数,是因为它们属于内置系统函数,存放在专门的系统视图里,下面是具体方法:

1. 基础列表查询:sys.system_functions

这个视图专门存储所有微软内置的函数,执行以下语句就能拿到完整列表:

SELECT name AS function_name, type_desc AS function_type
FROM sys.system_functions
ORDER BY name;

这里能找到ISNULL、CAST、CONVERT等常用函数,function_type会标注函数类型(比如SCALAR_FUNCTION表示标量函数)。

2. 带详细定义的查询:关联sys.all_objects与sys.system_modules

如果需要获取函数的参数类型、返回类型等更详细信息,可以用以下语句:

SELECT 
    o.name AS function_name,
    o.type_desc AS function_type,
    m.definition AS function_details
FROM sys.all_objects o
INNER JOIN sys.system_modules m 
    ON o.object_id = m.object_id
WHERE 
    o.type IN ('FN', 'AF', 'FS', 'FT') -- FN=标量函数,AF=聚合函数,FS/FT=CLR函数
    AND o.is_ms_shipped = 1; -- 仅筛选微软内置对象

返回结果里的function_details字段会包含函数的定义文本,其中包含参数和返回值的类型信息。

补充说明

  • sys.system_functions本质是sys.all_objects的子集,通过is_ms_shipped = 1筛选也能得到相同的内置函数列表。
  • 部分特殊内置函数(比如GETDATE())可能没有完整的定义文本,但依然会出现在sys.system_functions的列表中。

内容的提问来源于stack exchange,提问作者Daniil Iaitskov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 07:15:44