delimiter $$
CREATE FUNCTION my_replace(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
$$
select my_replace("aabbccdd",'bb','BB');