CREATE OR REPLACE FUNCTION FIND_IN_SET (
piv_str1 VARCHAR2,
piv_str2 VARCHAR2,
p_sep VARCHAR2 := ','
) RETURNS INTEGER
AS
DECLARE
l_idx NUMBER := 0;
tmp text[];
BEGIN
SELECT regexp_split_to_array(piv_str2, p_sep) INTO tmp;
FOR i IN 0..array_length(tmp, 1) LOOP
IF piv_str1 = tmp[i] THEN
l_idx = i
EXIT;
END IF;
END LOOP;
RETURN l_idx ;
END
原文链接 :地址跳转