温馨提示×

Find_in_set在Oracle数据库中应用场景

小樊
99
2024-06-25 12:44:31
栏目: 云计算

在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

0