当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


PLSQL SUBSTR用法及代码示例


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)

使用的参数:

  1. input_string –它用于指定源字符串。
  2. start_position –用于指定提取的起始位置。
  3. length –它是一个可选参数,用于指定要提取的字符数。

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

支持的Oracle /PLSQL版本:

  1. 甲骨文12c
  2. 甲骨文11g
  3. 甲骨文10g
  4. 甲骨文9i
  5. 甲骨文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的浮点数将自动转换为整数。



相关用法


注:本文由纯净天空筛选整理自Shubrodeep Banerjee大神的英文原创作品 PLSQL | SUBSTR Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。