oracle10g ty_str_split,Oracle split(分隔字符串函数)
一 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(分隔字符串函数)相关推荐
- java split函数的用法,java拆分字符串_java中split拆分字符串函数用法
摘要 腾兴网为您分享:java中split拆分字符串函数用法,中信期货,掌上电力,星球联盟,淘集集等软件知识,以及韩剧精灵,每日英语听力vip,龙卷风收音机,优衣库,中国平煤神马集团协同办公系统,光晕 ...
- sqlserver中实现split分割字符串函数
常用的. IF OBJECT_ID (N'fn_split') IS NOT NULL DROP FUNCTION fn_split go CREATE function dbo.fn_split ...
- SQL Server 分隔字符串函数实现
SQL Server 分隔字符串函数实现 在SQL Server中有时候也会遇到字符串进行分隔的需求.平时工作中常常遇到这样的需求,例如:人员数据表和人员爱好数据表,一条人员记录可以多多人员爱好记录, ...
- SQL自定义函数split分隔字符串
一.F_Split:分割字符串拆分为数据表 Create FUNCTION [dbo].[F_Split] ( @SplitString nvarchar(max), --源字符串 @Separato ...
- oracle split 分割字符串,Oracle字符串分割Split
Oracle字符串分割Split 一.创建数组类型 Sql代码 CREATE OR REPLACE TYPE T_RET_TABLE IS TABLE OF VARCHAR2(512) 二.创建字符串 ...
- C#中split分隔字符串的应用
1.用字符串分隔: using System.Text.RegularExpressions; string str="aaajsbbbjsccc"; string[] sArra ...
- oracle常用的字符串函数,Oracle的常用字符函数实验展示
Oracle提供了众多实用的字符函数,在众多的字符函数中常用的并不多,精通常用的几个字符函数便可游刃有余. 通过这个小文儿简单演示一下常用字符函数的用法,供参考. 1.实验预备动作 1)创建实验表T ...
- oracle数组转换字符串函数,Oracle的字符串转数组以及数组转字符串
字符串转数组: (SELECT REGEXP_SUBSTR('34,56,-23', '[^,]+', 1, LEVEL, 'i') AS STR FROM DUAL CONNECT BY LEVEL ...
- oracle数组转换字符串函数,Oracle 字符串转数组的函数
create type char_table is table of varchar2(4000);--创建自定义类型脚本 create or replace function split_strin ...
最新文章
- python数据挖掘Hello World
- 携程基于Quasar协程的NIO实践
- 中标麒麟/NeoKylin 安装QT开发环境
- 纯粹数学:哈代的世外桃源
- 2021年中国人力资源服务行业研究报告
- Redis如何实现刷抖音不重复-布隆过滤器(Bloom Filter)
- Gamma分布和逆Gamma分布
- Web Audio API
- DICOM协议资料汇集
- C#TcpClien网络通信之内存泄漏
- J2EE项目风险(翻译)
- 5款手机通讯录同步工具
- Android FFmpeg视频添加水印
- Android 白天黑夜模式切换适配及引起的Activity销毁重启解决
- 「视频」重磅 | Magic Leap再发Demo,凯文·凯利万字长文揭秘
- 优优聚:一文搞懂美团外卖新业务“拼好饭”
- 视频广告场景识别方案总结
- 电脑开机黑屏一串英文_电脑开机黑屏,还出现一串英文字母。
- MATLAB的MEX文件编写和调试
- [转载] 陈皓——程序员技术练级攻略
热门文章
- Identifiers in Java(Java标识符)
- Opencv SVM demo
- Java多线程常用方法 wait 和 notify
- Java线程问题问答
- E	速度即转发(牛客挑战赛48)(树套树)
- Codeforces Round #724 (Div. 2) F. Omkar and Akmar 组合数学 + 博弈
- 【APIO2018】Duathlon 铁人两项 【圆方树】
- 【NOI2009】诗人小G【决策单调性dp】
- Educational Codeforces Round 88 D. Yet Another Yet Another Task(巧枚举)
- P2664 树上游戏