22ea79bdc382acbaf1b82cda87f14784c27085ca
[migration-tools.git] / sql / koha / general_functions.sql
1 DROP FUNCTION IF EXISTS split_string;
2 DELIMITER $
3 CREATE FUNCTION 
4    split_string (s TEXT, del VARCHAR(10), i INT)
5    RETURNS TEXT
6    DETERMINISTIC
7     BEGIN
8         DECLARE n INT ;
9         SET n = LENGTH(s) - LENGTH(REPLACE(s, del, '')) + 1;
10         IF i > n THEN
11             RETURN NULL ;
12         ELSE
13             RETURN SUBSTRING_INDEX(SUBSTRING_INDEX(s, del, i) , del , -1 ) ;        
14         END IF;
15     END
16 $
17 DELIMITER ;
18
19 DROP FUNCTION IF EXISTS string_segment_count;
20 DELIMITER $
21 CREATE FUNCTION 
22    string_segment_count(s TEXT, del VARCHAR(10))
23    RETURNS TEXT
24    DETERMINISTIC
25     BEGIN
26         DECLARE n INT ;
27         SET n = LENGTH(s) - LENGTH(REPLACE(s, del, '')) + 1;
28         RETURN n;
29     END
30 $
31 DELIMITER ;
32
33 DROP FUNCTION IF EXISTS remove_bracketed_text;
34 DELIMITER $
35 CREATE FUNCTION 
36    remove_bracketed_text(str TEXT)
37    RETURNS TEXT
38    DETERMINISTIC
39     BEGIN
40     RETURN REPLACE(str, SUBSTRING(str, LOCATE('(', str), LENGTH(str) - LOCATE(')', REVERSE(str)) - LOCATE('(', str) + 2), '');
41     END
42 $
43 DELIMITER ;
44
45