跳转至
开发版采用单机部署,无需产品 License 文件。需要多机部署或大规模性能测试? 了解企业版

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 GQL USER DEFINED FUNCTIONS VERBOSE
show_specific_udf_statement
SHOW GQL USER DEFINED FUNCTION function_name VERBOSE

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 } |         |
+------------+----------------------------------------------+---------+