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的函數,接受一個字符串和一個分隔符作為參數,返回一個包含分割后的子字符串的列表。在使用時,可以通過調用這個函數并傳遞需要分割的字符串和分隔符來實現字符串分割操作。