PLSQL INSTR2函數用於使用UCS2代碼點返回字符串中子字符串的位置。 UCS-2代碼點是一種字符編碼標準,其中的字符由固定長度的16位(2個字節)表示。 UCS-2最多可以表示65、536個字符,或者以0000h-FFFFh(2個字節)的十六進製數表示。
PLSQL INSTR2函數在字符串中搜索用戶使用字符指定的子字符串,並返回該字符串在該子字符串中指定位置的第一個字符的位置。 PLSQL INSTR2函數接受四個參數,它們是字符串,子字符串,開始位置和第n個外觀。
字符串和子字符串可以是任何數據類型,例如CHAR,VARCHAR2,NCHAR,NVARCHAR2,CLOB或NCLOB。
用法:
INSTR2(string, substring [, start_position [, nth_appearance ]])
使用的參數:
- string -它用於指定需要在其中搜索子字符串的字符串。它可以是CHAR,VARCHAR2,NCHAR,NVARCHAR2,CLOB或NCLOB的任何數據類型。
- substring -它用於指定需要搜索的子字符串。它可以是CHAR,VARCHAR2,NCHAR,NVARCHAR2,CLOB或NCLOB的任何數據類型。
- start_position -它是一個可選參數,用於指定字符串從搜索開始的位置。默認值為1。INSTR函數從字符串末尾算起start_position的字符數,如果插入的值為負,則向字符串開頭進行搜索。
- nth appearance -它是一個可選參數,用於指定子字符串的第n個外觀。預設值為1。
支持的Oracle /PLSQL版本:
- 甲骨文12c
- 甲骨文11g
- 甲骨文10g
- 甲骨文9i
- 甲骨文8i
示例1:使用字符向前搜索以查找子字符串的位置。
DECLARE Test_String string(20) := 'Geeksforgeeks'; BEGIN dbms_output.put_line(INSTR2(Test_String, 'e')); END;
輸出:
2
示例2:使用字符位置向前搜索以查找子字符串的位置。
DECLARE Test_String string(20) := 'Geeksforgeeks'; BEGIN dbms_output.put_line(INSTR2(Test_String, 'e', 1, 1)); END;
輸出:
2
示例3:使用字符位置向前搜索以找到子字符串在第三位置的位置。
DECLARE Test_String string(20) := 'Geeksforgeeks'; BEGIN dbms_output.put_line(INSTR2(Test_String, 'e', 1, 3)); END;
輸出:
10
示例4:使用字符位置向後搜索以查找子字符串的位置。
DECLARE Test_String string(20) := 'Geeksforgeeks'; BEGIN dbms_output.put_line(INSTR2(Test_String, 'e', -2, 1)); END;
輸出:
11
示例5:使用Triple-Byte字符集查找子字符串的位置。
DECLARE Test_String string(20) := 'Geeksforgeeks'; BEGIN dbms_output.put_line(INSTR2(Test_String, 'for', 1, 1)); END;
輸出:
6
相關用法
- PLSQL MOD用法及代碼示例
- PLSQL LEAST用法及代碼示例
- PLSQL LN用法及代碼示例
- PLSQL EXP用法及代碼示例
- PLSQL ABS用法及代碼示例
- PLSQL TAN用法及代碼示例
- PLSQL LOG用法及代碼示例
- PLSQL CHR用法及代碼示例
- PLSQL SIN用法及代碼示例
- PLSQL COS用法及代碼示例
- PLSQL LOWER用法及代碼示例
- PLSQL LTRIM用法及代碼示例
- PLSQL INSTRC用法及代碼示例
- PLSQL RTRIM用法及代碼示例
- PLSQL RPAD用法及代碼示例
注:本文由純淨天空篩選整理自Shubrodeep Banerjee大神的英文原創作品 PLSQL | INSTR2 Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。