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;
分享到:
相关推荐
oracle在存储过程中执行字符串中存有的sql语句
例如:字段为1,2,3,4,5 截取之后为 1 2 3 4 5
大数据量,返回值虽然是CLOB,依然会报错; CLOB变量需要dbms_lob.createtemporary,临时表空间中,建立临时LOB。 大数据量,返回值虽然是CLOB,依然会报错; CLOB变量需要dbms_lob.createtemporary,临时表空间中,...
本文将深入探讨如何使用Oracle遍历数据库查找字符串,以及一个简化此过程的工具。 标题"Oracle遍历数据库查找字符串"暗示了一个实用的解决方案,它允许用户快速搜索Oracle数据库中的特定文本字符串,无需手动编写...
oracle,按特定字符,截取字符串,直接出结果 oracle,按特定字符,截取字符串,直接出结果oracle,按特定字符,截取字符串,直接出结果
在Oracle数据库中,处理字符串是常见的操作之一,尤其是在数据分析或数据清洗的过程中。有时我们需要将一个长字符串分割成多个部分,以便进行进一步的操作。Oracle提供了一些内置的函数来帮助我们完成这个任务。本篇...
在Oracle数据库中,对字符串进行处理是一项常见的需求,特别是在处理带有特定分隔符(如逗号`,`、冒号`:`等)的字符串时。本文将详细介绍如何利用Oracle内置函数来实现从含有逗号和冒号的字符串中提取特定部分的功能...
根据Oracle官方文档和提供的错误信息,我们可以得知该错误发生的根本原因是尝试将一个非数值型的字符串转换为数字时失败了。具体来说: - **错误原因**:当尝试将一个字符型字段转换为数字时,如果该字段包含的不是...
在实际工作中经常遇到截取两个相同字符串之间的字符的oracle问题,以下是相关语句
在Oracle数据库中,将字符串转换为数字是一项常见的操作,特别是在处理包含数字的字符串列时,可能需要进行数值计算或按照数值大小进行排序。本篇文章将深入探讨如何在SQL查询中利用Oracle提供的函数来实现这一目标...
Oracle 连接字符串是指连接 Oracle 数据库的字符串书写方法,本文总结了多种连接 Oracle 数据库的字符串书写方法。 一、标准连接字符串 标准连接字符串是最基本的连接字符串格式,用于连接 Oracle 数据库。例如,...
Oracle Sql 提供了 REPLACE() 函数,用于将字符串中的某个字符替换为另一个字符。 示例:SELECT REPLACE('abcdce', 'bc', 'test') FROM dual; -- 返回 atestdce 6. ASCII 码函数 Oracle Sql 提供了 ASCII() 函数...
string :需要进行正则处理的字符串 pattern :进行匹配的正则表达式 position :起始位置,从第几个字符开始正则表达式匹配(默认为1) occurrence :标识第几个匹配组,默认为1 modifier :模式(‘i’不区分大...
- **Oracle存储过程**:Oracle数据库中的一种程序单元,可以包含复杂的SQL语句及PL/SQL控制结构,用于执行特定任务或逻辑。 - **UTL_HTTP包**:Oracle提供的一个工具包,用于处理HTTP请求和响应,支持GET和POST方法...
C#连接Oracle数据库字符串 C#连接Oracle数据库字符串
在Oracle数据库中,对字符串进行处理是一项非常常见的需求,尤其是在数据清洗、格式转换等场景下。本文将详细介绍如何利用`REGEXP_REPLACE`函数来实现字符串替换功能,特别是在复杂的字符串模式匹配与替换方面。 ##...
Oracle数据库截取字符串 Oracle数据库提供了多种截取字符串的方法,本文将介绍 substr 和 instr 两个常用函数,以及 case when then else end 语句的使用。 一、substr 函数 substr 函数用于截取字符串的一部分...
select f_find('Ap@2233ll@@l@@','@') from dual 返回结果为5,代表‘@’在该字符串中出现5次。 同理 select f_find('Ap@223SWEQQQ3ll@@l@@','Q') from dual---返回3,代表Q在字符串中出现了3次, select f_find('我...
传入一个字符串和该字符串的分割字符,返回去重后的字符串,可以直接在plsql中运行,简单的函数运用,能处理oracle中。资源仅供参考