Source: https://dev-docs.yueshu.com.cn/v5.3.2/database-gql-reference/data-admin/show/show-user-defined-functions/ Documentation version: v5.3.2 # SHOW USER DEFINED FUNCTION / FUNCTIONS `SHOW USER DEFINED FUNCTIONS`用于显示当前 Schema 中的所有用户自定义函数(UDF)。`SHOW USER DEFINED FUNCTION `用于显示与指定函数名匹配的 UDF。 如果当前用户没有当前 Schema 的`USAGE`,则不返回该 Schema 中的任何 UDF。更多信息,请参见 [Schema 访问控制](https://dev-docs.yueshu.com.cn/v5.3.2/server-admin/authorization/schema-access-control/)。 下表展示返回的信息: | 列 | 描述 | `name` | UDF 的名称。 | `signature` | UDF 的签名。 | `comment` | UDF 的描述。 如需查看额外的列,包括 UDF 的`category`和`null_behavior`,可以使用`VERBOSE`选项。参见[语法](https://dev-docs.yueshu.com.cn/v5.3.2/database-gql-reference/data-admin/show/show-user-defined-functions/#_1)。 使用`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 } | | +------------+----------------------------------------------+---------+ ````