一 Oracle版本: 10g PLSQL: 8.0

二 具体代码如下:

1 类型

CREATE OR REPLACE TYPE ty_str_split IS TABLE OF VARCHAR2 (4000)

2 函数

CREATE OR REPLACE FUNCTION fn_split (p_str IN VARCHAR2, p_delimiter IN VARCHAR2)

RETURN ty_str_split

IS

j INT := 0;

i INT := 1;

len INT := 0;

len1 INT := 0;

str VARCHAR2 (4000);

str_split ty_str_split := ty_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) := 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) := str;

END IF;

END LOOP;

RETURN str_split;

END fn_split;

3 具体应用

CREATE OR REPLACE procedure testsplit(objids in varchar2,message out varchar2)

as

objid varchar2(32);

begin

for x in (select column_value as objid from (SELECT * FROM TABLE (CAST (fn_split (objids, ',') AS ty_str_split)))t) loop

objid := x.objid;

--执行删除或者有关与ID相关的操作

--delete t wher id=objid;

--commit;

message := message || ' ID:' || objid;

end loop;

EXCEPTION

WHEN OTHERS THEN

message :='测试split函数失败...';

end testsplit;

其它运用如下:

select t.column_value,rownum row_ from

table(

cast (

fn_split ('1,2,3,4,5,,7,,', ',') as ty_str_split

)

) t

oracle10g ty_str_split,Oracle split(分隔字符串函数)相关推荐

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

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

  2. sqlserver中实现split分割字符串函数

    常用的. IF OBJECT_ID (N'fn_split') IS NOT NULL DROP FUNCTION  fn_split go CREATE  function dbo.fn_split ...

  3. SQL Server 分隔字符串函数实现

    SQL Server 分隔字符串函数实现 在SQL Server中有时候也会遇到字符串进行分隔的需求.平时工作中常常遇到这样的需求,例如:人员数据表和人员爱好数据表,一条人员记录可以多多人员爱好记录, ...

  4. SQL自定义函数split分隔字符串

    一.F_Split:分割字符串拆分为数据表 Create FUNCTION [dbo].[F_Split] ( @SplitString nvarchar(max), --源字符串 @Separato ...

  5. oracle split 分割字符串,Oracle字符串分割Split

    Oracle字符串分割Split 一.创建数组类型 Sql代码 CREATE OR REPLACE TYPE T_RET_TABLE IS TABLE OF VARCHAR2(512) 二.创建字符串 ...

  6. C#中split分隔字符串的应用

    1.用字符串分隔: using System.Text.RegularExpressions; string str="aaajsbbbjsccc"; string[] sArra ...

  7. oracle常用的字符串函数,Oracle的常用字符函数实验展示

    Oracle提供了众多实用的字符函数,在众多的字符函数中常用的并不多,精通常用的几个字符函数便可游刃有余. 通过这个小文儿简单演示一下常用字符函数的用法,供参考. 1.实验预备动作 1)创建实验表T ...

  8. oracle数组转换字符串函数,Oracle的字符串转数组以及数组转字符串

    字符串转数组: (SELECT REGEXP_SUBSTR('34,56,-23', '[^,]+', 1, LEVEL, 'i') AS STR FROM DUAL CONNECT BY LEVEL ...

  9. oracle数组转换字符串函数,Oracle 字符串转数组的函数

    create type char_table is table of varchar2(4000);--创建自定义类型脚本 create or replace function split_strin ...

最新文章

  1. python数据挖掘Hello World
  2. 携程基于Quasar协程的NIO实践
  3. 中标麒麟/NeoKylin 安装QT开发环境
  4. 纯粹数学:哈代的世外桃源
  5. 2021年中国人力资源服务行业研究报告
  6. Redis如何实现刷抖音不重复-布隆过滤器(Bloom Filter)
  7. Gamma分布和逆Gamma分布
  8. Web Audio API
  9. DICOM协议资料汇集
  10. C#TcpClien网络通信之内存泄漏
  11. J2EE项目风险(翻译)
  12. 5款手机通讯录同步工具
  13. Android FFmpeg视频添加水印
  14. Android 白天黑夜模式切换适配及引起的Activity销毁重启解决
  15. 「视频」重磅 | Magic Leap再发Demo,凯文·凯利万字长文揭秘
  16. 优优聚:一文搞懂美团外卖新业务“拼好饭”
  17. 视频广告场景识别方案总结
  18. 电脑开机黑屏一串英文_电脑开机黑屏,还出现一串英文字母。
  19. MATLAB的MEX文件编写和调试
  20. [转载] 陈皓——程序员技术练级攻略

热门文章

  1. Identifiers in Java(Java标识符)
  2. Opencv SVM demo
  3. Java多线程常用方法 wait 和 notify
  4. Java线程问题问答
  5. E 速度即转发(牛客挑战赛48)(树套树)
  6. Codeforces Round #724 (Div. 2) F. Omkar and Akmar 组合数学 + 博弈
  7. 【APIO2018】Duathlon 铁人两项 【圆方树】
  8. 【NOI2009】诗人小G【决策单调性dp】
  9. Educational Codeforces Round 88 D. Yet Another Yet Another Task(巧枚举)
  10. P2664 树上游戏