當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。