oracle中split的使用方法,Oracle 自定义split 函数实例详解
Oracle 自定义split 函数
Oracle没有提供split函数,但可以自己建立一个函数实现此功能。比如“abc defg hijkl nmopqr stuvw xyz”,分隔符是空格,但空格个数不定。
源代码:
CREATE OR REPLACE TYPE ty_str_split IS TABLE OF VARCHAR2 (4000);
CREATE OR REPLACE FUNCTION fn_var_split (
p_str IN VARCHAR2,
p_delimiter IN VARCHAR2
)
RETURN ty_str_split
IS
j INT := 0;
len INT := 0;
str VARCHAR2 (4000);
str_split ty_str_split := ty_str_split ();
v_str VARCHAR2 (4000) := RTRIM (LTRIM (p_str, p_delimiter), p_delimiter);
BEGIN
len := LENGTH (v_str);
WHILE len > 0
LOOP
j := INSTR (v_str, p_delimiter, 1);
IF j = 0
THEN
str := SUBSTR (v_str, 1);
len := 0;
str_split.EXTEND;
str_split (str_split.COUNT) := str;
ELSE
str := SUBSTR (v_str, 1, j - 1);
v_str := LTRIM (LTRIM (v_str, str), p_delimiter);
len := LENGTH (v_str);
str_split.EXTEND;
str_split (str_split.COUNT) := str;
END IF;
END LOOP;
RETURN str_split;
END fn_var_split;
/
测试结果:
1
12
123
1234
12345
DECLARE
CURSOR c
IS
SELECT * FROM TABLE (CAST (fn_var_split (';1;12;;123;;;1234;;;;12345;', ';') AS ty_str_split));
r c%ROWTYPE;
BEGIN
OPEN c;
LOOP
FETCH c INTO r;
EXIT WHEN c%NOTFOUND;
DBMS_OUTPUT.put_line (r.column_value);
END LOOP;
CLOSE c;
END;
/
(资源库 www.zyku.net)
oracle中split的使用方法,Oracle 自定义split 函数实例详解相关推荐
- android 刷新标题栏,Android 自定义标题栏的实例详解
Android 自定义标题栏的实例详解 开发 Android APP 经常会用到自定义标题栏,而有多级页面的情况下还需要给自定义标题栏传递数据. 本文要点: 自定义标题填充不完整 自定义标题栏返回按钮 ...
- python代码图片头像_Flask 上传自定义头像的实例详解
Flask Web 开发这本书基本上做完了,后面还需要温习,但是自己做的博客总觉得简陋了点,所以,在动脑子开发新功能 今天想到最基本的功能,自定义头像 那这样的功能,设计到2大基本功能块 1:如何进行 ...
- python format函数实例_python中强大的format函数实例详解
python中format函数用于字符串的格式化 自python2.6开始,新增了一种格式化字符串的函数str.format(),此函数可以快速处理各种字符串. 语法 它通过{}和:来代替%. 请看下 ...
- python中def func是什么意思_Python的函数参数详解
原标题:Python的函数参数详解 前言 Python中函数的参数可以分为两大类形参和实参~ def func(x, y): # x, y 就是形参 print(x, y) func(2, 3) # ...
- python3中find函数的用法_Python3正则匹配re.split,re.finditer及re.findall函数用法详解...
本文实例讲述了Python3正则匹配re.split,re.finditer及re.findall函数用法.分享给大家供大家参考,具体如下: re.split re.finditer re.finda ...
- oracle中获取时间的方法,oracle中获取系统当前时间,启动时间以及运行时间
1.获取当前时间 可以通过如下三种方式获取当前时间: select sysdate from dual; select Current_date from dual; select SYSTIMEST ...
- php类和自定义函数实例,php中三个调用用户自定义函数实例详解
在php中调有自定义函数,经常会用到call_user_func函数.call_user_func_array函数.call_user_func函数. 1,call_user_func函数类似于一种特 ...
- java中document解析jsp,JSP基于dom解析xml实例详解
本文实例讲述了JSP基于dom解析xml的方法.分享给大家供大家参考,具体如下: 初次学习用dom操作xml文件,有很多不足之处,牛人多给点建议,练习时我没对中文做乱码处理,也没做验证哦!O(∩_∩) ...
- java trim函数的使用方法_java trim的用法实例详解
rim方法一般用来去除空格,但是根据JDK API的说明,该方法并不仅仅是去除空格,它能够去除从编码'\u0000′ 至 '\u0020′ 的所有字符. 回车换行也在这20个字符之中,以下是一个示例: ...
最新文章
- Hadoop安装教程_分布式集群
- Spring @SessionAttributes @ModelAttribute
- 拒绝不靠谱的需求:怎样确定需求才是正确的?
- Android 屏幕防偷窥,华为Mate30怎么设置防偷窥 AI智能防偷窥功能使用方法
- 前端学习(1550):$scope和调试工具
- canvas 在线画图
- oracle ro,ORACLE学习笔记一
- iOS 使点击事件穿透透明的UIView
- Cacti监控mysql数据库server实现过程
- Gulp,grunt,seajs/require和browserify/webpack的区别
- varnish4.0简介
- FishC笔记—29 讲 文件:一个任务
- 企业内IT部/信息部发展阶段和趋势(第一阶段)
- html5取消backspace后退功能,js屏蔽退格键(backspace或者叫后退键与F5)
- WinMerge 过滤器的使用方法
- centOS7 单机 mysql 5.7.24 主从
- 智能灯泡的应用及使用场景
- python判断函数if-elif-else介绍
- c语言带variable的作用,C语言讲义——变量(variable)
- 蚂蚁金服组件 ReferenceError: primordials is not defined