PL/SQL 中没有split函数,需要自己写。

  代码:

create or replace type type_split as table of varchar2(50);  --创建一个  type  ,如果为了使split函数具有通用性,请将其size 设大些。

--创建function

create or replace function split

(

   p_list varchar2,

   p_sep varchar2 := ','

)  return type_split pipelined

 is

   l_idx  pls_integer;

   v_list  varchar2(50) := p_list;

begin

   loop

      l_idx := instr(v_list,p_sep);

      if l_idx > 0 then

          pipe row(substr(v_list,1,l_idx-1));

          v_list := substr(v_list,l_idx+length(p_sep));

      else

          pipe row(v_list);

          exit;

      end if;

   end loop;

   return;

end split;

测试:

SQL> select * from table(split('northsnow,塞北的雪',','));

COLUMN_VALUE

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

northsnow

塞北的雪

SQL>

补充:
-----PIPELINED关键字是什么意思?
---- pipe row是什么意思?

pipelined声名此function是pipe的,如果这么声名了,就必须使用pipe row的方式把数据返回,常规函数最后的"return 变量",就变成了"return".

pipelined的function主要是为了提高效率,不用等所有的数据都处理完成了才返回客户端,它是边处理边返回.适用于大数据量的交互.

转载于:https://www.cnblogs.com/linbaoji/archive/2009/09/17/1568252.html

oracle的split函数相关推荐

  1. oracle中split的使用方法,Oracle 自定义split 函数实例详解

    Oracle 自定义split 函数 Oracle没有提供split函数,但可以自己建立一个函数实现此功能.比如"abc defg  hijkl   nmopqr     stuvw  xy ...

  2. oracle 中 split函数,Oracle Split功能函数

    在pl/sql时经常会碰到将某些特定的符号转换成行,这功能相当于split.以前在网上收集的split函数如下: CREATE OR REPLACE TYPE DJ_STR_SPLIT IS TABL ...

  3. oracle的split函数用法,Oracle 实现 split 函数 (返回数组)

    功能描述:用指定分隔符切割输入的字符串,返回一维数组,每个数组元素为一个子串. 源代码: CREATE OR REPLACE TYPE ty_str_split IS TABLE OF VARCHAR ...

  4. (转)pipe row的用法, Oracle split 函数写法.

    本文转载自:http://www.cnblogs.com/newsea/archive/2010/12/14/1905482.html 关于 pipe row的用法2009/12/30 14:53 = ...

  5. pipe row的用法, Oracle split 函数写法.

    关于 pipe row的用法2009/12/30 14:53 =========================================================== 作者: flysk ...

  6. Oracle 创建 split 和 splitstr 函数

    Sql语句最好依次执行创建 /**************************************  * name:        split  * author:      sean zha ...

  7. splitstr oracle,Oracle 创建 split 和 splitstr 函数

    Sql语句最好依次执行创建/************************************** * name:        split * author:      sean zhang. ...

  8. Oracle split函数

    一.创建split函数 1.创建TYPE CREATE OR REPLACE TYPE TYPE_SPLIT AS TABLE OF VARCHAR2 (4000); / 2.创建split函数 CR ...

  9. java oracle 连接字符串函数_通过shell来比较oracle和java中的字符串使用

    这些准备工作齐了之后,我们来从Java中的字符串使用入手来比较一下oracle中对于字符串的处理. java中有如下的一些函数,我会依次来做比较. public char charAt(int ind ...

最新文章

  1. 整数数组的定义,然后输入一个整数X,假定X不在这个数组,返回小于X位置的最大数目i而超过X位置的最小数目j...
  2. Android互联网访问,get方式,post方式等方式
  3. mybatis高级查询,批量新增
  4. JavaScript实现限制文件上传类型和大小
  5. python百万并发压测_100W高并发(转载) - 橙子柠檬's Blog
  6. Win10开机提示蓝屏错误ntoskrnl.exe怎么修复?
  7. 1-一、安装NVIDIA控制面板
  8. python怎么开服务器,实战讲解:如何用Python搭建一个服务器
  9. vue 路由守卫的使用
  10. 重启计算机有什么用,强制重启电脑有什么危害
  11. 7-32 哥尼斯堡的“七桥问题”
  12. Transformer面试 GavinNLP Transformer101之41-50
  13. HTTP基础知识(仅介绍涉及R语言爬虫部分)
  14. accesskey属性:激活元素快捷键(Alt+)
  15. 《Python自然语言处理-雅兰·萨纳卡(Jalaj Thanaki)》学习笔记:07 规则式自然语言处理系统
  16. Git命令全解析-前端备忘录
  17. 《Redis设计与实现》第十一章 AOF持久化
  18. browsersync——代码变动实时更新到页面
  19. 说极路由牛逼的人们,你们用过Tomato DualWAN吗?(三)
  20. Android显式意图和隐式意图

热门文章

  1. 2022版全球及中国蓝宝石材料产业容量预测与十四五投资战略研究报告
  2. 中国反渗透膜产业竞争现状与投资战略决策报告2021-2027年版
  3. 从上百幅架构图中学大型网站建设经验(上)
  4. 想拥有一款钢铁侠Jarvis管家的软件吗?
  5. mzy,struts学习(一)
  6. Tree Reconstruction UVA - 10410
  7. canvas手机端绘图解决方案
  8. C# 去除文件和文件夹的只读属性
  9. linux挂载和卸载
  10. 移动前端开发中添加一些webkit专属的HTML5头部标签,帮助浏览器更好解析html代码,更好地将移动web前端页面表现出来。本文整理一些常用的meta标签...