oracle实现字符串截取,查找,替换
2015-11-26 20:52
465 查看
1、字符串截取:substr
substr(string, start_position, [length]),其中,string是元字符串,start_position为开始位置(注意首位从0开始),length是可选项,表示子字符串的位数。
eg 1、substr('ABCDEFG', 0); -- 返回结果是:ABCDEFG,从0位开始截取后面所有。
eg 2、substr('ABCDEFG', 2); -- 返回结果是:CDEFG,从2位开始截取后面所有。
eg 3、substr('ABCDEFG', 0, 3); -- 返回结果是:ABC,从0位开始往后截取3个字符长度。
eg 4、substr('ABCDEFG', 0, 100); -- 返回结果是:ABCDEFG,虽然100超出了元字符串长度,但是系统会按元字符串最大数量返回,不会影响返回结果。
eg 5、substr('ABCDEFG', -3); -- 返回结果是:EFG,如果是负数,则从尾部往前数,截取-3位置往后的所有字符串。
2、字符串查找:instr
instr(string, subString, [start_position], [nth_appearance])
其中,string是元字符串;subString是要查找的子字符串;start_position是要查找的开始位置,为可选项(默认为1),如果此参数为正,则从左到右检索,如果此参数为负,则从右到左检索;nth_appearance是元字符串中第几次出现的子字符串,此参数可选,缺省默认为1,如果是负数则系统报错。返回结果为子字符串最后一个字符在元字符串中的位子。
eg 1、instr('ABCDABCDAEF', 'AB'); -- 返回结果是:1,因为instr字符串索引从0开始。
eg 2、instr('ABCDABCDAEF', 'DA', 1, 2); -- 返回结果是:8,返回第二次出现'DA'的位置。
3、替换字符串:replace
replace(str1, str2, str3)
其表示的意思是:在str1中查找str2,凡是出现str2的地方,都替换成str3。
eg 1、replace('ABCDEFG', 'ABC', 'abc'); -- 返回结果是:abcDEFG。
eg 2、replace('ABCDEFG', 'ABC', ''); -- 返回结果是:CDFG,ABC被替换成空字符。
eg 3、replace('ABCDEFG', 'ABC'); -- 返回结果是:CDFG,当不存在第三个参数时,ABC直接被删掉,类似于第二种效果。
substr(string, start_position, [length]),其中,string是元字符串,start_position为开始位置(注意首位从0开始),length是可选项,表示子字符串的位数。
eg 1、substr('ABCDEFG', 0); -- 返回结果是:ABCDEFG,从0位开始截取后面所有。
eg 2、substr('ABCDEFG', 2); -- 返回结果是:CDEFG,从2位开始截取后面所有。
eg 3、substr('ABCDEFG', 0, 3); -- 返回结果是:ABC,从0位开始往后截取3个字符长度。
eg 4、substr('ABCDEFG', 0, 100); -- 返回结果是:ABCDEFG,虽然100超出了元字符串长度,但是系统会按元字符串最大数量返回,不会影响返回结果。
eg 5、substr('ABCDEFG', -3); -- 返回结果是:EFG,如果是负数,则从尾部往前数,截取-3位置往后的所有字符串。
2、字符串查找:instr
instr(string, subString, [start_position], [nth_appearance])
其中,string是元字符串;subString是要查找的子字符串;start_position是要查找的开始位置,为可选项(默认为1),如果此参数为正,则从左到右检索,如果此参数为负,则从右到左检索;nth_appearance是元字符串中第几次出现的子字符串,此参数可选,缺省默认为1,如果是负数则系统报错。返回结果为子字符串最后一个字符在元字符串中的位子。
eg 1、instr('ABCDABCDAEF', 'AB'); -- 返回结果是:1,因为instr字符串索引从0开始。
eg 2、instr('ABCDABCDAEF', 'DA', 1, 2); -- 返回结果是:8,返回第二次出现'DA'的位置。
3、替换字符串:replace
replace(str1, str2, str3)
其表示的意思是:在str1中查找str2,凡是出现str2的地方,都替换成str3。
eg 1、replace('ABCDEFG', 'ABC', 'abc'); -- 返回结果是:abcDEFG。
eg 2、replace('ABCDEFG', 'ABC', ''); -- 返回结果是:CDFG,ABC被替换成空字符。
eg 3、replace('ABCDEFG', 'ABC'); -- 返回结果是:CDFG,当不存在第三个参数时,ABC直接被删掉,类似于第二种效果。
相关文章推荐
- oracle要求mac更高版本
- 【转】oracle job相关内容
- Maven 仓库中添加Oracle JDBC驱动(11g)
- windows server 2008 r2 安装oracle 10g 应该注意的地方!
- osx mac 安装 oracle instant client
- Oracle PL/SQL基础知识
- Oracle存储过程基本语法介绍
- 93 The ORACLE_SID environment variable is set to +ASM. ASMLIB is not used in the configuration. You
- Oracle PL/SQL入门
- 10G ORACLE RAC 搭建实战之Clusterware安装、数据库创建
- Oracle的自增序列、触发器、序列
- 10G ORACLE RAC 搭建实战之环境配置
- oracle之FUNCTION拙见
- 10G ORACLE RAC 搭建实战之LINUX LVM划分
- Oracle存储过程
- oracle rman全备恢复实践
- Oracle Cursor游标的使用
- oracle 存储过程详细介绍(创建,删除存储过程,参数传递等)1
- 四年前的老文章【Oracle, the Open Source Killer.】
- Oracle中Function学习2