oracle中实现截取字符串(substr)、查找字符串位置(instr)、替换字符串(replace)

上传人:第*** 文档编号:32821151 上传时间:2018-02-12 格式:DOCX 页数:4 大小:42.86KB
返回 下载 相关 举报
oracle中实现截取字符串(substr)、查找字符串位置(instr)、替换字符串(replace)_第1页
第1页 / 共4页
oracle中实现截取字符串(substr)、查找字符串位置(instr)、替换字符串(replace)_第2页
第2页 / 共4页
oracle中实现截取字符串(substr)、查找字符串位置(instr)、替换字符串(replace)_第3页
第3页 / 共4页
oracle中实现截取字符串(substr)、查找字符串位置(instr)、替换字符串(replace)_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《oracle中实现截取字符串(substr)、查找字符串位置(instr)、替换字符串(replace)》由会员分享,可在线阅读,更多相关《oracle中实现截取字符串(substr)、查找字符串位置(instr)、替换字符串(replace)(4页珍藏版)》请在金锄头文库上搜索。

1、i实现截取、查找、替换字符串文档作者: 叶玉虎创建日期: 2016-09-12更新日期: 2016-09-12Version: 1.ii文档控制更改记录日期 作者 版本 更改参考2016-09-12 叶玉虎 1.0审阅姓名 职位 签字分发人员编码 姓名 地点和位置 签名1234参考文献编码 姓名 文档名称 备注12341一 实现截取、查找、替换字符串1.截取字符串(substr)1:oracle 中实现截取字符串:substrsubstr(string, start_position, length)其中,string 是元字符串,start_position 为开始位置,length 是可选

2、项,表示子字符串的位数。例子:substr(ABCDEFG, 0); - 返回结果是:ABCDEFG ,从 0 位开始截取后面所有substr(ABCDEFG, 2); - 返回结果是:CDEFG ,从 2 位开始截取后面所有substr(ABCDEFG, 0, 3); - 返回结果是:ABC,从 0 位开始往后截取 3 个字符长度substr(ABCDEFG, 0, 100); - 返回结果是:ABCDEFG ,虽然 100 超出了元字符串长度,但是系统会按元字符串最大数量返回,不会影响返回结果substr(ABCDEFG, -3); - 返回结果是:EFG,如果是负数,则从尾部往前数,截取

3、-3位置往后的所有字符串2. 查找字符串位置(instr)2:查找字符串位置:instrinstr(string, subString, start_position, nth_appearance)其中,string 是元字符串;subString 是要查找的子字符串; start_position 是要查找的开始位置,为可选项(默认为 1) ,注意在这里字符串索引从 1 开始,如果此参数为正,则从左到右检索,如果此参数为负,则从右到左检索;nth_appearance 是元字符串中第几次出现的子字符串,此参数可选,缺省默认为 1,如果是负数则系统报错。例子:instr(ABCDABCDAE

4、F, AB); - 返回结果是:1,因为 instr 字符串索引从 1 开始,所以是 1 不是 0instr(ABCDABCDAEF, DA, 1, 2); - 返回结果是:8,返回第二次出现DA 的位置instr(A BCDABCDAEF, DA, 1, 2); - 返回结果是:9,由于我在元字符串中加了一个空格,空格仍然算一个字符3. 替换字符串(replace)3:替换字符串:replacereplace(str1, str2, str3)其表示的意思是:在 str1 中查找 str2,凡是出现 str2 的地方,都替换成 str3。2replace(ABCDEFG, CDE, cde)

5、; - 返回结果是:ABcdeFGreplace(ABCDEFG, CDE, ); - 返回结果是:ABFG ,CDE 被替换成空字符replace(ABCDEFG, CDE); - 返回结果是:ABFG ,当不存在第三个参数时,CDE直接被删掉本来我还以为 oracle 中也有系统自带的那种像 split 这样的拆分字符串的函数,结果找了好久,发现居然没有,网上有很多解决方法,我就不总结在这里了,后面需要的时候视情况来写。如果想批量替换修改表中某个字段的某个字符串,可以使用如下的方式:- 将 description 列中的 ABC 都替换成 CBAUPDATE cux_test tSET t.description = REPLACE(t.description,ABC,CBA)WHERE t.id = 10063

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 工程造价

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号