用戶自定義函數(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