ホームページ  >  記事  >  データベース  >  MySQL 自定义函数 (Function) 示例

MySQL 自定义函数 (Function) 示例

WBOY
WBOYオリジナル
2016-06-07 14:54:251466ブラウズ

一个很简单的 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>
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。