[关闭]
@a5635268 2015-09-23T08:20:43.000000Z 字数 994 阅读 1140

【mysql的编程专题⑤】自定义函数

Mysql


用户自定义函数(user-defined function,UDF) 是一种对mysql的扩展途径,其用法与内置函数相同

创建自定义函数

语法

  1. create function function_name
  2. returns
  3. {string|integer|real|decimal}
  4. routine_body

Example1

  1. delimiter $
  2. create function f1(gdate datetime)
  3. returns varchar(100) READS SQL DATA -- 一定要声明;
  4. begin
  5. declare x varchar(100) default '';
  6. set x = date_format(gdate,'%Y年%m月%h日 %H时%m分%s秒');
  7. return x;
  8. end $
  9. delimiter ;

Example2

  1. delimiter $
  2. create function str_cut(str varchar(255),length tinyint)
  3. returns varchar(255) READS SQL DATA
  4. begin
  5. if(ISNULL(str)) then
  6. return '';
  7. elseif char_length(str) <= length then
  8. return str;
  9. elseif char_length(str) > length then
  10. return contact(left(str,length),'...');
  11. end if;
  12. end $
  13. delimiter ;

查看函数

  1. mysql> show function status\G
  2. *************************** 1. row ***************************
  3. Db: test
  4. Name: f1
  5. Type: FUNCTION
  6. Definer: root@localhost
  7. Modified: 2015-05-01 16:21:40
  8. Created: 2015-05-01 16:21:40
  9. Security_type: DEFINER
  10. Comment:
  11. character_set_client: utf8
  12. collation_connection: utf8_general_ci
  13. Database Collation: latin1_swedish_ci

删除函数

  1. mysql> drop function f1; -- f1 函数名;
  2. Query OK, 0 rows affected
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注