12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
ADADADADAD
建站问答 时间:2024-12-01 19:22:30
作者:文/会员上传
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
在Oracle中实现类似于MySQL中的find_in_set函数的功能,可以通过以下步骤来实现:创建一个用于分割字符串的函数:CREATE OR REPLACE FUNCTION SPLIT_STRING(p_string IN VARCHAR2
以下为本文的正文内容,内容仅供参考!本站为公益性网站,复制本文以及下载DOC文档全部免费。
在Oracle中实现类似于MySQL中的find_in_set
函数的功能,可以通过以下步骤来实现:
CREATE OR REPLACE FUNCTION SPLIT_STRING(p_string IN VARCHAR2, p_delimiter IN VARCHAR2)RETURN SYS.ODCIVARCHAR2LISTISv_string VARCHAR2(4000) := p_string;v_delimiter VARCHAR2(100) := p_delimiter;v_length PLS_INTEGER := LENGTH(v_string);v_index PLS_INTEGER;v_tab SYS.ODCIVARCHAR2LIST := SYS.ODCIVARCHAR2LIST();BEGINIF v_delimiter IS NULL THENv_tab.EXTEND;v_tab(v_tab.LAST) := v_string;RETURN v_tab;END IF;v_index := INSTR(v_string, v_delimiter);WHILE v_index > 0 LOOPv_tab.EXTEND;v_tab(v_tab.LAST) := SUBSTR(v_string, 1, v_index - 1);v_string := SUBSTR(v_string, v_index + LENGTH(v_delimiter), v_length);v_length := LENGTH(v_string);v_index := INSTR(v_string, v_delimiter);END LOOP;v_tab.EXTEND;v_tab(v_tab.LAST) := v_string;RETURN v_tab;END;/
SELECT *FROM your_tableWHERE EXISTS (SELECT 1FROM TABLE(SPLIT_STRING(your_column, ',')) tWHERE t.COLUMN_VALUE = 'your_value');
在上面的代码中,SPLIT_STRING
函数用于将字符串按照指定的分隔符拆分成多个值,并返回一个包含这些值的表。然后在查询中使用EXISTS
子查询来判断指定的值是否在拆分后的值中存在。
11-20
11-19
11-20
11-20
11-20
11-19
11-20
11-20
11-19
11-20
11-19
11-19
11-19
11-19
11-19
11-19