返回顶部

收藏

MySQL 自定义函数 (Function) 示例

更多

一个很简单的 MySQL 函数定义

SQL

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>

标签:MySQL

收藏

0人收藏

支持

0

反对

0

相关聚客文章
  1. yanxinchi 发表 2018-10-25 07:25:43 JDK 并发 AQS 系列(四)
  2. admin 发表 2018-10-24 09:19:20 online-schema-change tool ddl problem
  3. TiuVe2 发表 2018-10-22 02:17:29 InnoDB 存储引擎之索引和优化
  4. Forece 发表 2018-10-20 02:40:25 记又一次通过查看日志解决服务器500内部错误(xmlrpc.php)
  5. sunny5156 发表 2018-10-18 09:36:10 mycat分片表全局自增主键测试
  6. xinlu 发表 2018-10-15 10:22:08 sql5.7报错
  7. sunny5156 发表 2018-10-12 06:01:45 MyCat 主键ID自增长配置
  8. 唐尤华 发表 2018-10-07 14:46:12 Ubuntu下面MySQL的参数文件my.cnf浅析
  9. fox64194167 发表 2018-10-03 12:17:40 mysql 显示当前执行的sql语句
  10. admin 发表 2017-07-20 09:42:20 MySQL主从配置尝试(同一台机器)
  11. admin 发表 2017-07-31 13:40:26 无备份情况下恢复MySQL truncate table
  12. admin 发表 2017-08-01 17:07:53 无备份情况下恢复MySQL drop table