I need to create a function that would split string by element. 'a1,a2,a1,a3' and result should be:
| Value | Counter |
|---|---|
| a1 | 2 |
| a2 | 1 |
| a3 | 1 |
This is example of my code (but it needs to work)
CREATE OR REPLACE FUNCTION SPLIT_STRING (
IN_STRING VARCHAR(1000),
IN_DELIM VARCHAR(20))
RETURNS TABLE (CNT INT)
LANGUAGE SQL
READS SQL DATA
BEGIN
DECLARE I INT DEFAULT 0;
DECLARE CNT INT DEFAULT 0;
WHILE I < LENGTH(IN_STRING)
DO
IF SUBSTR(IN_STRING, I, 1) = IN_DELIM THEN SET CNT = CNT + 1;
END IF;
SET I = I + 1;
END WHILE;
RETURN CNT;
END;
select SPLIT_STRING('a1,a2,a1,a3', ',') from SYSIBM.SYSDUMMY1