📣
TiDB Cloud Premium 开放公测中。为企业级工作负载提供无限扩展、即时弹性伸缩和高级安全保障。此页面由 AI 自动翻译,英文原文请见此处。

用户定义函数



TiDB Cloud Lake 中的用户定义函数(UDF)允许你创建适合特定数据处理需求的自定义操作。本页重点介绍你最常使用的命令,并帮助你为自己的使用场景选择合适的函数类型。

函数管理命令

命令描述
CREATE AGGREGATE FUNCTION脚本 UDAF(JavaScript/Python 运行时)
CREATE TABLE FUNCTION仅使用 SQL 的表函数,返回结果集
SHOW USER FUNCTIONS列出所有用户定义函数
ALTER FUNCTION修改现有函数
DROP FUNCTION删除函数

函数类型对比

功能Scalar (SQL)Scalar (Python/JavaScript)Aggregate (Script)Tabular SQL
返回类型单个值单个值单个值表/结果集
语言SQL 表达式Python/JavaScriptJavaScript/Python 运行时SQL 查询
性能⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
需要企业版否仅 Python runtime 需要仅 Python runtime 需要否
包支持否Python:是(PACKAGES)Python:是(PACKAGES)否
最适合数学计算
字符串操作
数据格式化
高级算法
外部库
控制流逻辑
需要脚本逻辑的自定义聚合复杂查询
多行结果
数据转换

统一语法

所有本地 UDF 类型都使用一致的 $$ 语法:

-- Scalar Function CREATE FUNCTION func_name(param TYPE) RETURNS TYPE AS $$ expression $$; -- Tabular Function CREATE FUNCTION func_name(param TYPE) RETURNS TABLE(...) AS $$ query $$; -- Scalar Function (Python/JavaScript) CREATE FUNCTION func_name(param TYPE) RETURNS TYPE LANGUAGE python HANDLER = 'handler' AS $$ code $$;

文档内容是否有帮助?