失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > oracle 字符串分割成数组_oracle 自定义字符串分割为数组方法

oracle 字符串分割成数组_oracle 自定义字符串分割为数组方法

时间:2023-11-05 17:08:06

相关推荐

oracle 字符串分割成数组_oracle 自定义字符串分割为数组方法

http://dusiguxia./blog/static/55629316103293991/

--定义数组类型

CREATE OR REPLACE TYPE splittable AS TABLE OF varchar2(100) ;

/

CREATE OR REPLACE FUNCTION split_string

(src VARCHAR2, delimiter varchar2)

--返回为上述定义的数组类型

RETURN splittable IS

psrc VARCHAR2(500);

--定义一个数据变量

a splittable := splittable();

i NUMBER := 1;

j NUMBER := 1;

BEGIN

--去除头和尾的delimiter

psrc := RTrim(LTrim(src, delimiter), delimiter);

LOOP

--从左侧开始确定delimiter在psrc中从j处开始第1此出现的位置

i := InStr(psrc, delimiter, j);

IF i>0 THEN

--扩展表结构

a.extend;

a(a.Count) := Trim(SubStr(psrc, j, i-j));

j := i+1;

END IF;

EXIT WHEN i=0;

END LOOP;

--把最后的字符放到数组中

IF j < Length(psrc) THEN

a.extend;

a(a.Count) := Trim(SubStr(psrc, j, Length(psrc)+1-j));

END IF;

RETURN a;

END;

/

--测试

select * from table (SPLIT_STRING('1,2,3,4',','));

如果觉得《oracle 字符串分割成数组_oracle 自定义字符串分割为数组方法》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。