sql substr oracle,PLSQL SUBSTR用法及代码示例

本文介绍PLSQL中的SUBSTR函数,详细说明了如何从字符串中提取子字符串,并提供了多个示例展示不同参数组合的效果。包括从字符串的开始部分提取、省略长度参数直至字符串结尾、从字符串末尾倒数提取等场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

PLSQL SUBSTR函数用于从字符串中提取子字符串。

SUBSTR函数接受三个参数,分别为input_string,start_position,长度。

SUBSTR使用输入字符集定义的字符来计算长度。 SUBSTRB使用字节而不是字符。

注意:

如果position为0,则将其视为1。

如果位置为正,则Oracle数据库从char的开头开始计数以查找第一个字符。

如果position为负,则Oracle从char末尾开始倒数。

如果省略substring_length,则Oracle将所有字符返回到char的末尾。如果substring_length小于1,则Oracle返回null。

用法:

SUBSTR( input_string, start_position, length)

使用的参数:

input_string –它用于指定源字符串。

start_position –用于指定提取的起始位置。

length –它是一个可选参数,用于指定要提取的字符数。

返回值:

PLSQL中的SUBSTR函数返回一个字符串值。

支持的Oracle /PLSQL版本:

甲骨文12c

甲骨文11g

甲骨文10g

甲骨文9i

甲骨文8i

示例1:在SUBSTR函数中传递所有三个参数。

DECLARE

Test_String string(25) := 'Geeksforgeeks';

BEGIN

dbms_output.put_line(SUBSTR(Test_String, '6', '3'));

END;

输出:

for

示例2:在将参数传递给SUBSTR函数时,省略length参数。

DECLARE

Test_String string(25) := 'Geeksforgeeks';

BEGIN

dbms_output.put_line(SUBSTR(Test_String, '6'));

END;

输出:

forgeeks

示例3:将参数传递给SUBSTR函数时,在starting_position参数中传递负值。

DECLARE

Test_String string(25) := 'Geeksforgeeks';

BEGIN

dbms_output.put_line(SUBSTR(Test_String, '-6', '3'));

END;

输出:

rge

SUBSTR函数从字符串的末尾开始,如果starting-position参数为负,则倒数。

示例4:在starting_position参数中传递一个值,该值大于input_string中的字符数。

DECLARE

Test_String string(25) := 'Geeksforgeeks';

BEGIN

dbms_output.put_line(SUBSTR(Test_String, '-16', '3'));

END;

输出:

NULL

SUBSTR函数返回NULL,因为input_string中存在的字符数少于starting-position参数中传递的值。

优点:

作为参数传递给SUBSTR的浮点数将自动转换为整数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值