PLSQL INSTR4函数用于使用UCS4代码点返回字符串中子字符串的位置。 UCS-4代码点是一种字符编码,它允许将每个值表示为正好四个字节(一个32位字)。对于每个字符,UCS-4表示介于0到十六进制7FFFFFFF之间的可能值。
PLSQL INSTR4函数在字符串中搜索用户使用字符指定的子字符串,并返回该字符串在该子字符串中指定位置的第一个字符的位置。 PLSQL INSTR4函数接受四个参数,它们是字符串,子字符串,开始位置和第n个外观。
字符串和子字符串可以是任何数据类型,例如CHAR,VARCHAR2,NCHAR,NVARCHAR2,CLOB或NCLOB。
用法:
INSTR4(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(INSTR4(Test_String, 'e')); END;
输出:
2
示例2:使用字符位置向前搜索以查找子字符串的位置。
DECLARE Test_String string(20) := 'Geeksforgeeks'; BEGIN dbms_output.put_line(INSTR4(Test_String, 'e', 1, 1)); END;
输出:
2
示例3:使用字符位置向前搜索以找到子字符串在第三位置的位置。
DECLARE Test_String string(20) := 'Geeksforgeeks'; BEGIN dbms_output.put_line(INSTR4(Test_String, 'e', 1, 3)); END;
输出:
10
示例4:使用字符位置向后搜索以查找子字符串的位置。
DECLARE Test_String string(20) := 'Geeksforgeeks'; BEGIN dbms_output.put_line(INSTR4(Test_String, 'e', -2, 1)); END;
输出:
11
示例5:使用Triple-Byte字符集查找子字符串的位置。
DECLARE Test_String string(20) := 'Geeksforgeeks'; BEGIN dbms_output.put_line(INSTR4(Test_String, 'for', 1, 1)); END;
输出:
6
相关用法
- PLSQL EXP用法及代码示例
- PLSQL MOD用法及代码示例
- PLSQL LOG用法及代码示例
- PLSQL LEAST用法及代码示例
- PLSQL LN用法及代码示例
- PLSQL SIN用法及代码示例
- PLSQL ABS用法及代码示例
- PLSQL COS用法及代码示例
- PLSQL CHR用法及代码示例
- PLSQL TAN用法及代码示例
- PLSQL LTRIM用法及代码示例
- PLSQL REPLACE用法及代码示例
- PLSQL NCHR用法及代码示例
- PLSQL INSTRC用法及代码示例
- PLSQL INSTR2用法及代码示例
注:本文由纯净天空筛选整理自Shubrodeep Banerjee大神的英文原创作品 PLSQL | INSTR4 Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。