🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# 【mysql的编程专题⑤】自定义函数 标签(空格分隔): Mysql --- > 用户自定义函数(user-defined function,UDF) 是一种对mysql的扩展途径,其用法与内置函数相同 ## 创建自定义函数 **语法** ```sql create function function_name returns {string|integer|real|decimal} routine_body ``` **Example1** ```sql delimiter $ create function f1(gdate datetime) returns varchar(100) READS SQL DATA -- 一定要声明; begin declare x varchar(100) default ''; set x = date_format(gdate,'%Y年%m月%h日 %H时%m分%s秒'); return x; end $ delimiter ; ``` **Example2** ```sql delimiter $ create function str_cut(str varchar(255),length tinyint) returns varchar(255) READS SQL DATA begin if(ISNULL(str)) then return ''; elseif char_length(str) <= length then return str; elseif char_length(str) > length then return contact(left(str,length),'...'); end if; end $ delimiter ; ``` ## 查看函数 ```sql mysql> show function status\G *************************** 1. row *************************** Db: test Name: f1 Type: FUNCTION Definer: root@localhost Modified: 2015-05-01 16:21:40 Created: 2015-05-01 16:21:40 Security_type: DEFINER Comment: character_set_client: utf8 collation_connection: utf8_general_ci Database Collation: latin1_swedish_ci ``` ## 删除函数 ```sql mysql> drop function f1; -- f1 函数名; Query OK, 0 rows affected ```