oracle存储过程之切割字符串
CREATE OR REPLACE TYPE ty_str_split IS TABLE OF VARCHAR2 (4000)
tools包头:
create or replace package common_tool is
-- Author : ADMINISTRATOR
-- Created : 2012/10/25 11:04:58
-- Purpose : 通用工具
function fn_split (p_str IN VARCHAR2, p_delimiter IN VARCHAR2)
RETURN ty_str_split;
end common_tool;
tools pakage body
create or replace package body common_tool is
-- 功能描述:用指定分隔符切割输入的字符串,返回一维数组,每个数组元素为一个子串。
--p_str:原始字符串
--p_delimiter:分隔符
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;
end common_tool;
分享到:
相关推荐
在IT领域,特别是数据库编程与处理中,对字符串进行有效的操作是极其常见的需求之一。PL/SQL(Procedural Language for Oracle)作为Oracle数据库的一种强大工具,提供了丰富的功能来处理字符串,包括分割、连接、...
在Oracle数据库中,有时我们需要处理以逗号分隔的字符串,并从中提取特定的信息,比如找出交集和差集。在本篇文章中,我们将探讨如何利用SQL实现这一目标,特别是针对两个字段都包含逗号分隔的字符串的情况。 首先...
在Oracle中,字符串分隔通常涉及到将一个长字符串按照特定的分隔符切割成多个子字符串。Oracle提供了多种函数来实现这一功能,例如`INSTR`、`SUBSTR`和`REGEXP_SUBSTR`等。下面我们将以`INSTR`和`SUBSTR`函数为例,...
接下来,我们创建一个示例表 `db_TestTemp`,其中包含一个字段 `Engineer`,类型为 `NVARCHAR(MAX)`,用于存储需要拆分的字符串。 ```sql CREATE TABLE db_TestTemp ( Engineer NVARCHAR(MAX), BeginDate DATE...
需求是表里的某个字段存储的值是以逗号分隔开来的,要求根据分隔的每一个值都能查出来数据,但是不能使用like查询。 数据是这样的: 查询的sql如下: select * from ( select guid, regexp_substr(st_responsible...
1. 创建OracleConnection对象,提供数据库连接字符串,例如`"Data Source=客户端指定连接字符串;User ID=user;Password=mima"`。 2. 打开数据库连接。 3. 编写SQL插入语句,注意使用占位符`:clob`来代表CLOB字段。 4...
在Oracle数据库中,系统并未内置一个直接用于字符串分割的`SPLIT`函数,但我们可以根据需求自定义一个。本文将详细介绍如何在Oracle中创建一个自定义的`SPLIT`函数,以及如何使用这个函数进行字符串处理。 首先,...
1. **初始化连接**:创建连接管理器实例,并通过指定的连接字符串建立连接。 2. **执行查询**:利用数据查询类执行SQL查询语句,获取结果集。 3. **处理数据**:遍历结果集中的每一行数据,并根据业务需求进行相应的...
设定字符串为“张三,你好,我是李四” 产生张三的密钥对(keyPairZhang) 张三生成公钥(publicKeyZhang)并发送给李四,这里发送的是公钥的数组字节 通过网络或磁盘等方式,把公钥编码传送给李四,李四接收到张三编码后...