温馨提示×

Oracle SplitStr函数如何分割字符串

小樊
85
2024-08-22 04:35:33
栏目: 云计算

Oracle SplitStr函数并不是Oracle数据库自带的标准函数,但是可以通过自定义函数来实现字符串分割操作。以下是一个示例的自定义函数来实现字符串分割:

CREATE OR REPLACE FUNCTION SplitStr(p_string IN VARCHAR2, p_delimiter IN VARCHAR2)
RETURN sys.odcivarchar2list PIPELINED
AS
    v_start_pos PLS_INTEGER := 1;
    v_end_pos PLS_INTEGER;
BEGIN
    LOOP
        v_end_pos := INSTR(p_string, p_delimiter, v_start_pos);
        IF v_end_pos = 0 THEN
            PIPE ROW(SUBSTR(p_string, v_start_pos));
            EXIT;
        END IF;
        PIPE ROW(SUBSTR(p_string, v_start_pos, v_end_pos - v_start_pos));
        v_start_pos := v_end_pos + LENGTH(p_delimiter);
    END LOOP;
    RETURN;
END;
/

使用示例:

SELECT * FROM TABLE(SplitStr('apple,banana,orange', ','));

以上示例定义了一个名为SplitStr的函数,接受一个字符串和一个分隔符作为参数,返回一个包含分割后的子字符串的列表。在使用时,可以通过调用这个函数并传递需要分割的字符串和分隔符来实现字符串分割操作。

0