Home  >  Article  >  Database  >  MySQL 自定义函数 (Function) 示例

MySQL 自定义函数 (Function) 示例

WBOY
WBOYOriginal
2016-06-07 14:54:251438browse

一个很简单的 MySQL 函数定义 MySQL mysqlmysql delimiter $$mysqlmysql 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(

一个很简单的 MySQL 函数定义
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>
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn