在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