此资料从网上获得,存放在此,以便以后查找。。。
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 过程已成功完成。
分享到:
相关推荐
instr和substr存储过程,分析内部大对象的内容 instr函数 instr函数用于从指定的位置开始,从大型对象中查找第N个与模式匹配的字符串。 用于查找内部大对象中的字符串的instr函数语法如下: dbms_lob.instr( lob_...
2. 字符串函数:例如UPPER(转化为大写)、LOWER(转化为小写)、SUBSTR(提取子串)、INSTR(查找子串位置)和CONCAT(连接字符串)等,方便对文本数据进行操作。 3. 日期时间函数:如SYSDATE获取当前系统日期,...
Oracle提供了大量内置函数,如数学函数(如ABS、MOD)、日期时间函数(如SYSDATE、ADD_MONTHS)、字符串函数(如SUBSTR、INSTR)和转换函数(如TO_CHAR、TO_DATE)。例如,`SYSDATE`函数返回当前系统的日期,而`...
Oracle 存储过程是 Oracle 数据库中的一种程序单元,它可以实现复杂的业务逻辑和数据处理。在本文中,我们将讨论如何使用 Oracle 存储过程来截取表字段中带分号的信息。 存储过程的基本概念 在 Oracle 中,存储...
例如,内置函数包括数学函数(如ABS、MOD)、日期时间函数(如SYSDATE、ADD_MONTHS)和字符串处理函数(如SUBSTR、INSTR)。掌握各种函数的使用能极大地提升SQL查询的效率和灵活性。 存储过程,另一方面,是一组SQL...
Oracle提供了丰富的内置函数,如数学函数(如ROUND、TRUNC)、字符串函数(如SUBSTR、INSTR)和日期时间函数(如SYSDATE、ADD_MONTHS)。自定义函数也可以通过PL/SQL语言创建,以满足特定需求。 其次,**存储过程**...
其中,函数和存储过程是Oracle数据库中不可或缺的组成部分,它们极大地提升了数据库处理复杂逻辑的能力。本篇文章将针对“Oracle函数大全”和“存储过程语法”进行深入的探讨。 首先,Oracle函数是预定义的代码块,...
Oracle数据库是世界上最广泛使用的数据库系统之一,其强大的功能和灵活性主要体现在它的SQL扩展以及丰富的内置函数和存储过程中。本文将深入探讨"Oracle函数大全及存储过程语法"这一主题,帮助你提升在数据库管理、...
这就需要用到字符串处理函数,如SQL Server中的`STRING_SPLIT`,MySQL中的`SUBSTRING_INDEX`或`FIND_IN_SET`,或者Oracle中的`INSTR`和`SUBSTR`等。 在存储过程的调试方面,不同数据库系统提供了不同的工具和方法。...
同时,“dbms_lob包学习笔记之二:append和write存储过程.pdf”可能进一步详细讲解了`APPEND`和`WRITE`这两个常用过程的具体用法和注意事项。 总之,`DBMS_LOB`是Oracle数据库管理LOB数据的关键工具,对于处理大量...
* 介绍了字符串处理函数,如 LENGTH、INSTR 和 SUBSTR * 讲解了数字函数,如 ROUND 和 TRUNC * 介绍了日期函数,如 SYSTIMESTAMP 和 CURRENT_DATE * 讲解了其他函数,如 NESTRING 函数 该教程提供了一个系统的 PL/...
10. 存储过程和触发器:编写和调用存储过程,了解触发器的自动执行机制。 总的来说,这份《SQL数据库管理与开发》的试题集是一个全面且实用的学习资源,对于想要提升SQL技能或者准备相关考试的人来说,具有很高的...
- 字符处理函数:LIKE用于模糊匹配,UPPER()和LOWER()转换大小写,SUBSTR()截取字符串,INSTR()查找子串位置。 - 日期时间函数:SYSDATE获取当前系统日期,ADD_MONTHS()添加月份,EXTRACT()提取日期部分等。 - ...
这些函数包括字符串函数(如SUBSTR、INSTR)、日期函数(如SYSDATE、ADD_MONTHS)、数学函数(如ROUND、MOD)和转换函数(如TO_CHAR、TO_DATE)。单行函数可以在SQL查询中直接使用,以处理和转换数据。 在学习...
下面是 Oracle 中一些常用的函数,包括 ASCII、CHR、CONCAT、INITCAP、INSTR、LENGTH、LOWER、UPPER、RPAD、LPAD、LTRIM、RTRIM、SUBSTR、REPLACE、SOUNDEX 和 TRIM 等。 1. ASCII 函数 ASCII 函数返回与指定的字符...
字符串函数如SUBSTR和INSTR用于提取和查找字符串部分。此外,还有转换函数、聚合函数、逻辑函数等,它们在SQL查询和存储过程中扮演着关键角色。 Oracle中文文档.chm文件可能是Oracle数据库的官方中文版文档,涵盖了...
1. `split_str`过程:接收输入字符串和分隔符,执行分隔操作,并将结果存储在一个索引表中。 2. `getEleCount`函数:返回分隔后子字符串的总数。 3. `getElement`函数:根据索引获取特定位置的子字符串。 包的实现...
Oracle知识点总结 ...单行函数包括字符串函数substr、instr和字符串连接函数等。 通过本文档,读者可以对Oracle数据库的相关知识点有一个系统的了解,并掌握Oracle数据库的安装、配置、开发和应用。