`
mymobile
  • 浏览: 182995 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

instr和substr存储过程

阅读更多

此资料从网上获得,存放在此,以便以后查找。。。

instr和substr存储过程,分析内部大对象的内容


instr函数与substr函数
instr函数用于从指定的位置开始,从大型对象中查找第N个与模式匹配的字符串。
用于查找内部大对象中的字符串的instr函数语法如下:
dbms_lob.instr(
lob_loc in blob,
pattern in raw,
offset in integer := 1;
nth in integer := 1)
return integer;

dbms_lob.instr(
lob_loc in clob character set any_cs,
pattern in varchar2 character set lob_loc%charset,
offset in integer:=1,
nth in integer := 1)
return integer;

lob_loc为内部大对象的定位器
pattern是要匹配的模式
offset是要搜索匹配文件的开始位置
nth是要进行的第N次匹配

substr函数
substr函数用于从大对象中抽取指定数码的字节。当我们只需要大对象的一部分时,通常使用这个函数。
操作内部大对象的substr函数语法如下:
dbms_lob.substr(
  lob_loc in blob,
  amount in integer := 32767,
  offset in integer := 1)
return raw;

dbms_lob.substr(
  lob_loc in clob character set any_cs,
  amount in integer := 32767,
  offset in integer := 1)
return varchar2 character set lob_loc%charset;
其中各个参数的含义如下:
lob_loc是substr函数要操作的大型对象定位器
amount是要从大型对象中抽取的字节数
offset是指从大型对象的什么位置开始抽取数据。
如果从大型对象中抽取数据成功,则这个函数返回一个 raw 值。如果有一下情况,则返回null:
 1 任何输入参数尾null
 2 amount < 1
 3 amount > 32767
 4 offset < 1
 5 offset > LOBMAXSIZE
示例如下:

declare
   source_lob clob;
   pattern varchar2(6) := 'Oracle';
   start_location integer := 1;
   nth_occurrence integer := 1;
   position integer;
   buffer varchar2(100);
begin
   select clob_locator into source_lob from mylobs where lob_index = 4;
   position := dbms_lob.instr(source_lob, pattern, start_location, nth_occurrence);
   dbms_output.put_line('The first occurrence starts at position:' || position);
  
   nth_occurrence := 2;
   select clob_locator into source_lob from mylobs where lob_index = 4;
   position := dbms_lob.instr(source_lob, pattern, start_location, nth_occurrence);
   dbms_output.put_line('The first occurrence starts at position:' || position);
  
   select clob_locator into source_lob from mylobs where lob_index = 5;
   buffer := dbms_lob.substr(source_lob, 9, start_location);
   dbms_output.put_line('The substring extracted is: ' || buffer);
end;
/
The first occurrence starts at position:8
The first occurrence starts at position:24
The substring extracted is: Oracle 9i

PL/SQL 过程已成功完成。

分享到:
评论

相关推荐

    Oracle中instr和substr存储过程详解

    instr和substr存储过程,分析内部大对象的内容 instr函数 instr函数用于从指定的位置开始,从大型对象中查找第N个与模式匹配的字符串。 用于查找内部大对象中的字符串的instr函数语法如下: dbms_lob.instr( lob_...

    oracle 存储过程学习总结

    SUBSTR用于截取字符串子串,INSTR用于查找字符串中的字符或子串位置,LENGTH和LENGTHB用于获取字符串长度,ASCII用于获取字符的ASCII码值。 接下来,存储过程中的绑定变量是PL/SQL编程的基础。例如,使用variable...

    oracle函数大全及存储过程语法.rar

    2. 字符串函数:例如UPPER(转化为大写)、LOWER(转化为小写)、SUBSTR(提取子串)、INSTR(查找子串位置)和CONCAT(连接字符串)等,方便对文本数据进行操作。 3. 日期时间函数:如SYSDATE获取当前系统日期,...

    oracle函数大全及存储过程语法 chm

    Oracle提供了大量内置函数,如数学函数(如ABS、MOD)、日期时间函数(如SYSDATE、ADD_MONTHS)、字符串函数(如SUBSTR、INSTR)和转换函数(如TO_CHAR、TO_DATE)。例如,`SYSDATE`函数返回当前系统的日期,而`...

    informix数据库实现oracle环境instr函数功能

    根据题目描述和标签,本案例的核心需求是:在Informix数据库中创建一个自定义函数,该函数能够实现Oracle数据库中`INSTR`函数的功能。具体来说,该函数应该能够接收两个字符串参数以及一个数字参数,并返回第二个...

    oracle截取表字段中带分号的信息的存储过程

    Oracle 存储过程是 Oracle 数据库中的一种程序单元,它可以实现复杂的业务逻辑和数据处理。在本文中,我们将讨论如何使用 Oracle 存储过程来截取表字段中带分号的信息。 存储过程的基本概念 在 Oracle 中,存储...

    oracle oracle函数 存储过程

    例如,内置函数包括数学函数(如ABS、MOD)、日期时间函数(如SYSDATE、ADD_MONTHS)和字符串处理函数(如SUBSTR、INSTR)。掌握各种函数的使用能极大地提升SQL查询的效率和灵活性。 存储过程,另一方面,是一组SQL...

    oracle 的函数、存储过程、游标、简单实例

    Oracle提供了丰富的内置函数,如数学函数(如ROUND、TRUNC)、字符串函数(如SUBSTR、INSTR)和日期时间函数(如SYSDATE、ADD_MONTHS)。自定义函数也可以通过PL/SQL语言创建,以满足特定需求。 其次,**存储过程**...

    oracle 函数大全 存储过程语法

    其中,函数和存储过程是Oracle数据库中不可或缺的组成部分,它们极大地提升了数据库处理复杂逻辑的能力。本篇文章将针对“Oracle函数大全”和“存储过程语法”进行深入的探讨。 首先,Oracle函数是预定义的代码块,...

    oracle函数大全及存储过程语法

    Oracle数据库是世界上最广泛使用的数据库系统之一,其强大的功能和灵活性主要体现在它的SQL扩展以及丰富的内置函数和存储过程中。本文将深入探讨"Oracle函数大全及存储过程语法"这一主题,帮助你提升在数据库管理、...

    Oracle和SQL Server的一些区别(函数和存储过程)

    ### Oracle与SQL Server在函数和存储过程上的差异 在数据库管理领域中,Oracle与SQL Server都是非常流行的数据库管理系统,各自有着广泛的应用场景和技术特点。本文旨在深入对比这两种数据库系统中的主要功能差异,...

    一个字符串分隔多个参数存储过程调试

    这就需要用到字符串处理函数,如SQL Server中的`STRING_SPLIT`,MySQL中的`SUBSTRING_INDEX`或`FIND_IN_SET`,或者Oracle中的`INSTR`和`SUBSTR`等。 在存储过程的调试方面,不同数据库系统提供了不同的工具和方法。...

    MySql存储过程小结.pdf

    - `INSTR(str, substr)`:返回子字符串在字符串中的位置 - `LCASE(str)`:转换字符串为小写 - `UCASE(str)`:转换字符串为大写 - `LENGTH(str)`:返回字符串长度 - `TRIM(str)`:去除字符串两端空格 - `REPLACE(str,...

    oracle dbms_lob

    同时,“dbms_lob包学习笔记之二:append和write存储过程.pdf”可能进一步详细讲解了`APPEND`和`WRITE`这两个常用过程的具体用法和注意事项。 总之,`DBMS_LOB`是Oracle数据库管理LOB数据的关键工具,对于处理大量...

    PLSQLOracle基础教程.pdf

    * 介绍了字符串处理函数,如 LENGTH、INSTR 和 SUBSTR * 讲解了数字函数,如 ROUND 和 TRUNC * 介绍了日期函数,如 SYSTIMESTAMP 和 CURRENT_DATE * 讲解了其他函数,如 NESTRING 函数 该教程提供了一个系统的 PL/...

    groovy将JDBC中oracle存储过程游标转换为多层json

    ### Groovy将JDBC中Oracle存储过程游标转换为多层JSON 在本文档中,我们将探讨如何使用Groovy脚本结合JDBC技术从Oracle存储过程中获取数据,并将其转换为多层JSON格式。该方法特别适用于需要从XML输入中提取数据并...

    oracle中字符串截取

    本文将详细介绍Oracle中的字符串截取功能及其应用场景,包括常用的`INSTR`和`SUBSTR`函数,并通过具体示例展示如何在实际工作中灵活运用这些函数来满足不同的需求。 #### 二、`INSTR`函数 `INSTR`函数用于查找一个...

    16套《SQL数据库管理与开发》试题及习题参考答案

    10. 存储过程和触发器:编写和调用存储过程,了解触发器的自动执行机制。 总的来说,这份《SQL数据库管理与开发》的试题集是一个全面且实用的学习资源,对于想要提升SQL技能或者准备相关考试的人来说,具有很高的...

Global site tag (gtag.js) - Google Analytics