Oracle中substr截取字符串并用INSTR范围匹配字符串位置截取
2015-09-08 18:27
567 查看
1:update 表名 set 列名= SUBSTR(列名,INSTR(列名,'匹配字符',1,1)+1) where 条件 like '%*%'
2:select SUBSTR(列名,INSTR(列名,'、',1,1)+1) as d from 表名 t where 条件 like '%-%';
例:Select INSTR(‘ORC+001‘,‘+‘,1,1) from dual
返回的是"4" 如果该字符串没有匹配字符 返回的是“0”。
INSTR:INSTR方法的格式为
INSTR(源字符串, 目标字符串, 起始位置, 匹配序号)
上2:中+1 是因为截取到的位置是从匹配字符开始,所以得从下一位开始截取,无长度截取,若不+1则会保留、截取
取得字符串中指定起始位置和长度的字符串 substr( string, start_position, [ length ] )
如:
substr('This is a test', 6, 2) would return 'is'
substr('This is a test', 6) would return 'is a test'
substr('TechOnTheNet', -3, 3) would return 'Net'
substr('TechOnTheNet', -6, 3) would return 'The'
select substr('Thisisatest', -4, 2) value from dual 结果是 te
select substr('emros',-3,1) value from dual 结果是 r
2:select SUBSTR(列名,INSTR(列名,'、',1,1)+1) as d from 表名 t where 条件 like '%-%';
例:Select INSTR(‘ORC+001‘,‘+‘,1,1) from dual
返回的是"4" 如果该字符串没有匹配字符 返回的是“0”。
INSTR:INSTR方法的格式为
INSTR(源字符串, 目标字符串, 起始位置, 匹配序号)
上2:中+1 是因为截取到的位置是从匹配字符开始,所以得从下一位开始截取,无长度截取,若不+1则会保留、截取
取得字符串中指定起始位置和长度的字符串 substr( string, start_position, [ length ] )
如:
substr('This is a test', 6, 2) would return 'is'
substr('This is a test', 6) would return 'is a test'
substr('TechOnTheNet', -3, 3) would return 'Net'
substr('TechOnTheNet', -6, 3) would return 'The'
select substr('Thisisatest', -4, 2) value from dual 结果是 te
select substr('emros',-3,1) value from dual 结果是 r
相关文章推荐
- 忘记Oracle密码怎么办
- oracle 分析函数
- ORACLE客户端动态库使用问题
- Oracle怎创建自增
- ORACLE数据库事务隔离级别
- 关于oracle 12c SQL语句执行结果与11g不一致的问题
- Oracle--sqlplus如何设置SQLPlus结果显示的宽度
- windows下python连接oracle
- Oracle包被锁定的原因分析及解决方案
- oracle保留两位小数解决方案
- Oracle存储过程详解(引用)+补充(转)good
- MAC OS 10.10.X上安装Navicat Premium
- Oracle通过SYS_CONTEXT ()获取用户连接信息
- Oracle中的name
- Oracle 使用物化视图实现表数据同步
- oracle lsnrctl
- Oracle基础语句大全
- 自用—oracle分析函数,合并重复列
- jboss-as-7.1.1.Final 数据源 Oracle DataSource 配置
- Oracle 学习之性能优化(十一)物化视图