`
mymobile
  • 浏览: 181601 次
  • 性别: 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函数大全及存储过程语法.rar

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

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

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

    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函数大全及存储过程语法"这一主题,帮助你提升在数据库管理、...

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

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

    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/...

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

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

    oracle学习文件

    - 字符处理函数:LIKE用于模糊匹配,UPPER()和LOWER()转换大小写,SUBSTR()截取字符串,INSTR()查找子串位置。 - 日期时间函数:SYSDATE获取当前系统日期,ADD_MONTHS()添加月份,EXTRACT()提取日期部分等。 - ...

    oracle操作文档

    这些函数包括字符串函数(如SUBSTR、INSTR)、日期函数(如SYSDATE、ADD_MONTHS)、数学函数(如ROUND、MOD)和转换函数(如TO_CHAR、TO_DATE)。单行函数可以在SQL查询中直接使用,以处理和转换数据。 在学习...

    Oreacle常用函数大全

    下面是 Oracle 中一些常用的函数,包括 ASCII、CHR、CONCAT、INITCAP、INSTR、LENGTH、LOWER、UPPER、RPAD、LPAD、LTRIM、RTRIM、SUBSTR、REPLACE、SOUNDEX 和 TRIM 等。 1. ASCII 函数 ASCII 函数返回与指定的字符...

    Oracle帮助文档

    字符串函数如SUBSTR和INSTR用于提取和查找字符串部分。此外,还有转换函数、聚合函数、逻辑函数等,它们在SQL查询和存储过程中扮演着关键角色。 Oracle中文文档.chm文件可能是Oracle数据库的官方中文版文档,涵盖了...

    如何实现Oracle中字符串分隔.pdf

    1. `split_str`过程:接收输入字符串和分隔符,执行分隔操作,并将结果存储在一个索引表中。 2. `getEleCount`函数:返回分隔后子字符串的总数。 3. `getElement`函数:根据索引获取特定位置的子字符串。 包的实现...

    Oracle知识点总结(吐血推荐).doc

    Oracle知识点总结 ...单行函数包括字符串函数substr、instr和字符串连接函数等。 通过本文档,读者可以对Oracle数据库的相关知识点有一个系统的了解,并掌握Oracle数据库的安装、配置、开发和应用。

Global site tag (gtag.js) - Google Analytics