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)
|