Mega Code Archive

 
Categories / MySQL / Procedure Function
 

Using String functions in a user-defined function

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>