【mysql的編程專題⑤】自定義函數

用戶自定義函數(user-defined function,UDF) 是一種對mysql的擴展途徑,其用法與內置函數相同mysql

建立自定義函數

語法sql

create function function_name
returns
{string|integer|real|decimal}
routine_body

Example1函數

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 ;

Example2code

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 ;

查看函數

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

刪除函數

mysql> drop function f1; -- f1 函數名;
Query OK, 0 rows affected
相關文章
相關標籤/搜索