1.首先需要定义一个集合类型,我这里定义的是变长数组类型(VARRAY)

create type type_splitstr is varray(1024) of varchar2(128);

--注意,我这里之所以不用嵌套表类型(NESTED TABLE),是因为oracle官方文档有如下说明。

--Nested Tables: The indexes and row order of a nested table might not remain stable as you store and retrieve the nested table from the database.

--Varrays (Variable-Size Arrays): When you store and retrieve a varray from the database,its indexes and element order remain stable.

2.创建自定义函数,实现字符串的拆分

create or replace function func_splitstr

(var_str in varchar2,--要拆分的字符串

var_split in varchar2--分隔符

) return type_splitstr

is

var_out type_splitstr;

var_tmp varchar2(4000);

var_element varchar2(128);

begin

var_tmp := var_str;

var_out:=type_splitstr();

while instr(var_tmp,var_split) > 0 --如果存在匹配的分割符

loop

var_element := substr(var_tmp,1,instr(var_tmp,var_split) - 1); --截取一个元素

var_tmp := substr(var_tmp,

instr(var_tmp,var_split) + length(var_split),

length(var_tmp)); --获取截取后剩下的字符串

var_out.extend;

var_out(var_out.count) := var_element; --向数组的末尾添加一个元素

end loop;

var_out.extend;

var_out(var_out.count) := var_tmp;

return var_out;

end func_splitstr;

/

使用:

sql> select * from table(func_splitstr('1|2|3,4|5|6',','));

COLUMN_VALUE

--------------------------------------------------------------

1|2|3

4|5|6

总结

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

oracle 根据分隔符提取,oracle自定义函数按照某个分隔符拆分字符串相关推荐

  1. Oracle进阶(八)自定义函数(Function)

    1.函数语法 1.1 创建语法 --创建函数 CREATE OR REPLACE FUNCTION 函数名(参数1 模式 参数类型)RETURN 返回值类型 AS变量1 变量类型;变量2 变量类型; ...

  2. java split函数的用法,java拆分字符串_java中split拆分字符串函数用法

    摘要 腾兴网为您分享:java中split拆分字符串函数用法,中信期货,掌上电力,星球联盟,淘集集等软件知识,以及韩剧精灵,每日英语听力vip,龙卷风收音机,优衣库,中国平煤神马集团协同办公系统,光晕 ...

  3. oracle 根据分隔符提取,oracle如何按分隔符拆分字符串(正则方法)

    最近在搞oracle的相关东西的时候,遇到一点小难题,就是当一个字段的字符串是用分隔符间隔,我需要取其中的某一项时,应该怎么取. 比如我们有字符串1021.QQ01,我们需要把QQ01给取出来,我们可 ...

  4. oracle中or的替函数,Oracle常用内置Or自定义函数-SQL宝典

    一 .函数使用说明 1.NLSSORT(列名,排序规则) 在oracle9i中新增了按照拼音.部首.笔画排序功能.设置NLS_SORT值 SCHINESE_RADICAL_M   按照部首(第一顺序) ...

  5. oracle 根据分隔符提取,oracle使用指定分隔符导出数据到文件

    最近有需求要导出一个专业的详单,用于倒入sqlserver系统,要求用分隔符隔开各字段.一开始准备用toad查询出来在save as,但发现表太多,要一张一张表盯着,而且由于详单数据量大,查询导出占用 ...

  6. oracle生成主键函数,Oracle学习记录之使用自定义函数和触发器实现主键动态生成...

    很早就想自己写写Oracle的函数和触发器,最近一个来自课本的小案例给了我这个机会.现在把我做的东西记录下来,作为一个备忘或者入门的朋友们的参考. 案例介绍: 招投标管理系统(数据库设计). 数据表有 ...

  7. oracle 根据分隔符提取,oracle根据分隔符获取字符串

    环境:11g -- +表示对多个非,分组 select regexp_substr('annn,bnn哈,cqwe,d哈哈', '[^][,]+', 1, 1) t1, regexp_substr(' ...

  8. oracle awr报告提取,oracle AWR报告提取分析

    Oracle在10g以前的使用的是Statspack做性能故障诊断的.Oracle Database 10g提供了一个显著改进的工具:自动工作负载信息库(AWR).AWR和数据库一起安装.数据库装好后 ...

  9. c语言自定义函数mid,C语言实现字符串截取函数left、mid和right

    作者:iamlaosong C语言字符串截取需要自己编程实现,不过,网络时代,自然不用自己从头写了,网上各种方法的实现代码已经多如牛毛了,这儿抄录一个感觉不错的备案. #include #includ ...

最新文章

  1. 谈谈我理解的文化包容性
  2. Linux 内核开发资料
  3. python 效率_Python 运行效率为何低
  4. Linux软件包管理的知识点,Linux基础知识之软件包管理(二)
  5. 【需求工程】需求管理
  6. 51单片机入门教程(6)——外部中断
  7. Android项目实战(三十一):异步下载apk文件并安装(非静默安装)
  8. html5新增graph,Qunee for HTML5 - 中文 : Graph组件介绍
  9. 塔菲克蓝牙适配器驱动_TAFIQ蓝牙适配器驱动下载
  10. PMP知识点:项目成本管理计算公式
  11. java上下载的ex表格打不开怎么回事_Java 下载 Excel文件打不开
  12. ROS学习-1 (部分基础命令和使用命令记录并复现海龟运动过程)
  13. 致那些徘徊在测试界的屌丝
  14. 数据结构 - 环形队列
  15. multisim怎么设置晶体管rbe_multisim中三极管参数
  16. 52单片机 (十七)AD DA 数模转换
  17. mac浏览器Brave软件特点分享
  18. 09:判断能否被3,5,7整除
  19. VMWARE WORKSTATION 网络
  20. leetcode799:香槟塔

热门文章

  1. phpstorm如何回滚。并取消本地提交
  2. 2022届互联网秋招备战
  3. gpgga格式读取MATLAB,GPS编码格式及读取.doc
  4. JavaScript使用场景
  5. YAML-学习笔记!
  6. 大数据集群搭建之hadoop、tomcat、jdk等工具的安装(三)
  7. 深入理解卷积层,全连接层的作用意义
  8. 二进制、十进制、其他进制之间的转换
  9. 单链表的头插法和尾插法实现代码(无头结点)
  10. Platform Invoke and Marshaling Data: [1/3]