oracle中split函数的用法

oracle中split函数的用法

首页维修大全综合更新时间:2023-09-28 02:17:18

oracle中split函数的用法

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;

大家还看了
也许喜欢
更多栏目

© 2021 3dmxku.com,All Rights Reserved.