在Oracle数据库中,可以使用INSTR函数和REGEXP_SUBSTR函数来实现类似于MySQL中的FIND_IN_SET函数的功能。示例代码如下:
CREATE OR REPLACE FUNCTION FIND_IN_SET(p_str IN VARCHAR2, p_list IN VARCHAR2)
RETURN NUMBER
IS
BEGIN
IF INSTR(',' || p_list || ',', ',' || p_str || ',') > 0 THEN
RETURN 1;
ELSE
RETURN 0;
END IF;
END;
/
这个函数接受两个参数,第一个参数是要查找的字符串,第二个参数是逗号分隔的字符串列表。如果要查找的字符串在字符串列表中,则返回1,否则返回0。
示例用法:
SELECT FIND_IN_SET('apple', 'apple,banana,orange') FROM DUAL; -- 返回1
SELECT FIND_IN_SET('grape', 'apple,banana,orange') FROM DUAL; -- 返回0