oracle中用split,oracle中split的使用
1.创建自己的类型 VARCHAR2ARRAY
CREATE OR REPLACE TYPE "VARCHAR2ARRAY" as table of varchar2(300);
2.创建函数SPLITSTR
CREATE OR REPLACE FUNCTION "SPLITSTR" (p_str IN VARCHAR2,
p_delimiter IN VARCHAR2)
RETURN varchar2array IS
/**
* 对字符串进行相应的分割 p_str:字符串 p_delimiter:分割的字符
**/
j INT := 0;
i INT := 1;
len INT := 0;
len1 INT := 0;
str VARCHAR2(4000);
my_split varchar2array := varchar2array();
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);
my_split.EXTEND;
my_split(my_split.COUNT) := str;
IF i >= len THEN
EXIT;
END IF;
ELSE
str := SUBSTR(p_str, i, j - i);
i := j + len1;
my_split.EXTEND;
my_split(my_split.COUNT) := str;
END IF;
END LOOP;
RETURN my_split;
END SPLITSTR;
3.如何使用,一般在存储过程中使用。
declare
mysplit varchar2array;
begin
select SPLITSTR('a,b,44,',',') into mysplit from dual;--用逗号拆分,
dbms_output.put_line(mysplit(1));
dbms_output.put_line(mysplit(2));--位置2的结果为b
dbms_output.put_line(to_number(mysplit(3)));
end;打印结果:
a b 44
oracle中用split,oracle中split的使用相关推荐
- rac oracle脑裂,深入了解Oracle RAC 脑裂 Brain Split
本帖最后由 maclean 于 2011-10-12 00:30 编辑 在理解脑裂(Brain Split)处理过程前,有必要介绍一下Oracle RAC Css(Cluster Synchroniz ...
- mysql中输出100内质数,oracle中用while循环查询1到100的质数(素数)
declare i number:=1; --表示当前数字 j number:=0; --从2开始,存储判断的数字 sum1 number:=0;--总数 begin while(i<100 ...
- Oracle 12c CDB数据库中数据字典架构
Oracle 12c CDB数据库中数据字典架构 使用sys用户和普通用户实验结果不同: SELECT * FROM V$PDBS; create table LHRTEST as select * ...
- 如何将TXT,EXCEL或CSV数据导入ORACLE到对应表中
如何将TXT,EXCEL或CSV数据导入ORACLE到对应表中 2011-05-12 14:19 方法一,使用SQL*Loader 这个是用的较多的方法,前提必须oracle数据中目的表已经 ...
- Oracle数据库在进程中是,由浅入深讲解Oracle数据库进程的相关概念
Oracle数据库进程概述: Database buffer cache主要用于存储数据文件中的数据块 数据库高速缓存的数据块是高速缓存与数据文件进行信息交换的基本单位.在Oracle数据库8i以前, ...
- oracle数据库源数据路径,oracle中用什么命令查找数据文件所在路径呢?
oracle中用什么命令查找数据文件所在路径呢? 来源:互联网 宽屏版 评论 2009-07-09 18:39:28 分类: 电脑/网络 >> 电脑常识 问题描述: 在pl/sql中执 ...
- oracle imp 1403,Oracle中用exp/imp命令参数详解【转】
Oracle中用exp/imp命令参数详解 [用 exp 数 据 导 出]: 1 将数据库TEST完全导出,用户名system 密码manager 导出到D:daochu.dmp中 expsyste ...
- oracle binary_integer pls_integer,oracle中binaryinteger与plsinteger的区别
oracle中binaryinteger与plsinteger的区别 Oracle 中 Binary_Integer 与 Pls_Integer 的区别Binary_Integer 与 Pls_Int ...
- Java中split函数的用法及使用示例
Java中split函数的用法及使用示例 2010-05-04 10:21 日志原文:http://lhgc.blog.sohu.com/80444801.html java.lang.string. ...
- Oracle中用exp/imp命令快速导入导出数据
Oracle中用exp/imp命令快速导入导出数据 [用 exp 数 据 导 出]: 1 将数据库TEST完全导出,用户名system 密码manager 导出到D:\daochu.dmp中 ...
最新文章
- ssd windows未能启动服务器,ssd安装win10无法启动你安装方法对吗?来看一下
- 深入理解java虚拟机 - jvm高级特性与最佳实践(第三版)_JVM虚拟机面试指南:年薪30W以上高薪岗位需求的JVM,你必须要懂!...
- 新书推荐 |《5G安全技术与标准》
- powerquery加载pdf_PowerQuery技巧之自学教程
- 对多个有规律表进行更新剔重复操作的存储过程(up8000)
- 中国酒器市场趋势报告、技术动态创新及市场预测
- 看我如何绕过Cloudflare 的 SQL 注入过滤
- “不怕的人的面前才有路”!一名双非硕士的985攻博历程
- 聊一聊2D地图的迷雾效果
- 一键环境安装包无法修改网站目录提示.user.ini权限问题解决方法
- BFS算法解题套路框架(附习题)
- 一个程序员未来5年的自我规划
- 绿城离职员工万言书全文
- 手机NFC天线的集总参数设计
- 随笔-不足与外人道也
- 浅谈IM(InstantMessaging) 即时通讯/实时传讯
- 通过USGS批量下载Sentinel2数据
- 2021-10-04
- 解决java 图片压缩图片图片变色问题
- HTML元素脱离文档流的三种方法