1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
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) |