> 数据库 > MySQL >

MySQL 自定义函数 (Function) 示例


一个很简单的 MySQL 函数定义

mysql>
mysql> delimiter $$
mysql>
mysql> CREATE FUNCTION myFunction
 -> (in_string VARCHAR(255),
 -> in_find_str VARCHAR(20),
 -> in_repl_str VARCHAR(20))
->
 -> RETURNS VARCHAR(255)
 -> BEGIN
 -> DECLARE l_new_string VARCHAR(255);
 -> DECLARE l_find_pos INT;
->
 -> SET l_find_pos=INSTR(in_string,in_find_str);
->
 -> IF (l_find_pos>0) THEN
 -> SET l_new_string=INSERT(in_string,l_find_pos,LENGTH(in_find_str),in_repl_str);
 -> ELSE
 -> SET l_new_string=in_string;
 -> END IF;
 -> RETURN(l_new_string);
->
 -> END$$
Query OK, 0 rows affected (0.00 sec)

mysql>
mysql> delimiter ;
mysql> select myFunction('ABC','A','Z');
+---------------------------+
| myFunction('ABC','A','Z') |
+---------------------------+
| ZBC |
+---------------------------+
1 row in set (0.00 sec)

mysql> drop function myFunction;
Query OK, 0 rows affected (0.00 sec)

mysql>
mysql>


(责任编辑:IT)