oracle中的split 字符串分割函数
来源:互联网 发布:膳魔师淘宝旗舰店 编辑:程序博客网 时间:2024/05/01 13:57
Oracle中的Split函数首先需要定义 2 个类型1. Row 类型CREATE OR REPLACE TYPE ty_row_str_split as object (strValue VARCHAR2 (4000))2. Table 类型CREATE OR REPLACE TYPE ty_tbl_str_split IS TABLE OF ty_row_str_split
创建函数:
CREATE OR REPLACE FUNCTION fn_split(p_str IN VARCHAR2,
p_delimiter IN VARCHAR2)
RETURN ty_tbl_str_split IS
j INT := 0;
i INT := 1;
len INT := 0;
len1 INT := 0;
str VARCHAR2(4000);
str_split ty_tbl_str_split := ty_tbl_str_split();
BEGIN
len := LENGTH(p_str);
len1 := LENGTH(p_delimiter);
WHILE j < len LOOP
j := INSTR(p_str, p_delimiter, i);
IF j = 0 THEN
j := len;
str := SUBSTR(p_str, i);
str_split.EXTEND;
str_split(str_split.COUNT) := ty_row_str_split(strValue => str);
IF i >= len THEN
EXIT;
END IF;
ELSE
str := SUBSTR(p_str, i, j - i);
i := j + len1;
str_split.EXTEND;
str_split(str_split.COUNT) := ty_row_str_split(strValue => str);
END IF;
END LOOP;
RETURN str_split;
END fn_split;
使用样例:
select to_number(strvalue) as Value from table(fn_split('1,2,3',','))
select to_char(strvalue) as Value from table(fn_split('aa,bb,cc',','))
创建函数:
CREATE OR REPLACE FUNCTION fn_split(p_str IN VARCHAR2,
p_delimiter IN VARCHAR2)
RETURN ty_tbl_str_split IS
j INT := 0;
i INT := 1;
len INT := 0;
len1 INT := 0;
str VARCHAR2(4000);
str_split ty_tbl_str_split := ty_tbl_str_split();
BEGIN
len := LENGTH(p_str);
len1 := LENGTH(p_delimiter);
WHILE j < len LOOP
j := INSTR(p_str, p_delimiter, i);
IF j = 0 THEN
j := len;
str := SUBSTR(p_str, i);
str_split.EXTEND;
str_split(str_split.COUNT) := ty_row_str_split(strValue => str);
IF i >= len THEN
EXIT;
END IF;
ELSE
str := SUBSTR(p_str, i, j - i);
i := j + len1;
str_split.EXTEND;
str_split(str_split.COUNT) := ty_row_str_split(strValue => str);
END IF;
END LOOP;
RETURN str_split;
END fn_split;
使用样例:
select to_number(strvalue) as Value from table(fn_split('1,2,3',','))
select to_char(strvalue) as Value from table(fn_split('aa,bb,cc',','))
- oracle中的split 字符串分割函数
- Oracle中的split字符串分割函数
- oracle字符串分割函数split
- oracle中的split 字符串分割函数(绝对可用)
- oracle中的split 字符串分割函数(绝对可用)
- oracle中的split 字符串分割函数(绝对可用)
- oracle实现字符串分割函数 split()函数
- java中的字符串分割函数 split
- java中的字符串分割split函数
- Oracle 字符串分割 Split
- Oracle字符串分割Split
- split字符串分割函数
- split函数分割字符串
- ORACLE实现字符串分割SPLIT
- 分割字符串函数split(C#)
- 分割字符串函数split(C#)
- c 分割字符串函数 split
- SQL 字符串分割函数 split
- 扩展 sp_helpindex, 增加 INCLUDE 和筛选索引的筛选条件
- ORACLE 死锁解决办法
- HDU 2520 我是菜鸟,我怕谁
- Oracle With Clause和优化场景
- 不使用第三方变量交换x,y
- oracle中的split 字符串分割函数
- Ubuntu12.04开机自动挂载windows分区
- linux中字符转换命令-tr的用法
- php的setcookie使用详解
- 用ffmpeg进行视频转码
- VBS解压zip文件并且递归统计文件数目
- Django项目中静态文件的处理方法
- Lucene学习笔记一
- 这一生,还能见妈妈几次