ORACLE实现字符串分割SPLIT
2016-08-01 11:17
453 查看
CREATE OR REPLACE TYPE str_split_table IS TABLE OF VARCHAR2 (4000);
CREATE OR REPLACE FUNCTION str_split(p_string IN VARCHAR2, p_delimiter IN VARCHAR2)
RETURN str_split_table
PIPELINED
AS
v_length NUMBER := LENGTH(p_string);
v_start NUMBER := 1;
v_index NUMBER;
BEGIN
WHILE(v_start <= v_length)
LOOP
v_index := INSTR(p_string, p_delimiter, v_start);
IF v_index = 0
THEN
PIPE ROW(SUBSTR(p_string, v_start));
v_start := v_length + 1;
ELSE
PIPE ROW(SUBSTR(p_string, v_start, v_index - v_start));
v_start := v_index + 1;
END IF;
END LOOP;
RETURN;
END str_split;
CREATE OR REPLACE FUNCTION str_split(p_string IN VARCHAR2, p_delimiter IN VARCHAR2)
RETURN str_split_table
PIPELINED
AS
v_length NUMBER := LENGTH(p_string);
v_start NUMBER := 1;
v_index NUMBER;
BEGIN
WHILE(v_start <= v_length)
LOOP
v_index := INSTR(p_string, p_delimiter, v_start);
IF v_index = 0
THEN
PIPE ROW(SUBSTR(p_string, v_start));
v_start := v_length + 1;
ELSE
PIPE ROW(SUBSTR(p_string, v_start, v_index - v_start));
v_start := v_index + 1;
END IF;
END LOOP;
RETURN;
END str_split;
相关文章推荐
- 实现Oracle的字符串分割(split)[摘录]
- 用递归实现字符串分割(Split)[SQL 2005]
- C#实现字符串按多个字符采用Split方法分割
- 用Matlab实现字符串分割(split)
- lua字符串分割 string.split实现
- C#实现字符串按多个字符采用Split方法分割
- C#实现字符串按多个字符采用Split方法分割
- oracle 拆分逗号分隔字符串 实现split
- MySQL里实现类似SPLIT的分割字符串的函数
- oracle函数实现字符串分割,返回表格式的结果集
- C++ split 字符串分割实现
- 不用Split方法实现分割字符串
- MySQL里实现类似SPLIT的分割字符串的函数
- JS实现Split分割字符串同时允许被分割出的字符串中存在分割符号
- ORACLE 分割字符串的函数实现
- SQL Serve中实现字符串分割(split)的功能函数
- 字符串分割split_string:用vector和string容器实现
- 用Matlab实现字符串分割(split)
- 【Python】实现字符串分割功能 类似于str.split()
- C/C++实现split分割字符串