SHOW USER DEFINED FUNCTION / FUNCTIONS¶
SHOW USER DEFINED FUNCTIONS用于显示当前 Schema 中的所有用户自定义函数(UDF)。SHOW USER DEFINED FUNCTION <function_name>用于显示与指定函数名匹配的 UDF。
如果当前用户没有当前 Schema 的USAGE,则不返回该 Schema 中的任何 UDF。更多信息,请参见 Schema 访问控制。
下表展示返回的信息:
| 列 | 描述 |
|---|---|
name |
UDF 的名称。 |
signature |
UDF 的签名。 |
comment |
UDF 的描述。 |
如需查看额外的列,包括 UDF 的category和null_behavior,可以使用VERBOSE选项。参见语法。
使用VERBOSE选项时,会返回以下额外的列:
| 列 | 描述 |
|---|---|
category |
UDF 的类别。 |
null_behavior |
UDF 的 NULL 值处理行为。 |
语法¶
- show_udf_statement
- show_specific_udf_statement
show_udf_statement ::=
'SHOW' 'GQL'? 'USER DEFINED' 'FUNCTIONS' 'VERBOSE'?
show_specific_udf_statement ::=
'SHOW' 'GQL'? 'USER DEFINED' 'FUNCTION' function_name 'VERBOSE'?
VERBOSE:若指定,则输出中会包含额外的category和null_behavior列。
参数¶
function_name¶
要查看信息的 UDF 名称。
您可以使用正则表达式匹配多个 UDF。正则表达式必须用双引号(")或反引号(`)包裹。例如,SHOW USER DEFINED FUNCTION "add_.*"会匹配所有以add_开头的 UDF。
要查看所有 UDF,请使用SHOW USER DEFINED FUNCTIONS。
示例¶
查看所有 UDF¶
SHOW USER DEFINED FUNCTIONS
返回:
+------------+----------------------------------------------------+--------------+
| name | signature | comment |
+------------+----------------------------------------------------+--------------+
| _pi | _pi() -> FLOAT { 3.1415926 } | |
| add_offset | add_offset(x FLOAT) -> FLOAT { x + $offset } | |
| add_tax | add_tax(price FLOAT) -> FLOAT { price * 1.06 } | 计算含税价格 |
| avg_sum | avg_sum(b FLOAT) -> FLOAT { avg(b) + sum(abs(b)) } | |
| foo | foo(a INT64, b FLOAT) -> FLOAT { a + b } | |
+------------+----------------------------------------------------+--------------+
查看与指定函数名匹配的 UDF¶
SHOW USER DEFINED FUNCTION foo
返回:
+------+------------------------------------------+---------+
| name | signature | comment |
+------+------------------------------------------+---------+
| foo | foo(a INT64, b FLOAT) -> FLOAT { a + b } | |
+------+------------------------------------------+---------+
使用正则表达式匹配 UDF¶
SHOW USER DEFINED FUNCTION "add_.*"
返回:
+------------+----------------------------------------------+---------+
| name | signature | comment |
+------------+----------------------------------------------+---------+
| add_offset | add_offset(x FLOAT) -> FLOAT { x + $offset } | |
+------------+----------------------------------------------+---------+