oracle截取某个特定字符或者某一段字符之后或者之前的数据(instr函数详解)

您所在的位置:网站首页 字符串截取特定字符 oracle截取某个特定字符或者某一段字符之后或者之前的数据(instr函数详解)

oracle截取某个特定字符或者某一段字符之后或者之前的数据(instr函数详解)

2024-07-15 19:59| 来源: 网络整理| 查看: 265

从开始截取到某一个字符之前

select substr('12345678.SZ',1,instr('12345678.SZ','.',1)-1) from dual

从某个字符截取到最后

select substr('12345678.SZ',instr('12345678.SZ','.',1)+1) from dual

说明:

如果要截取的值不包含字符串本身,则将长度减1或者加1即可。如果对substr函数不清楚可以查看oracle中截取后几位用法及详解

instr函数详细说明:

用法:

第一种:Instr(name,name2)

第二种:instr(name,name2,index,number)

Name 是字段名称  name2  是要截取的关键字或者字符串,默认从字段的第一位开始查找,遇到第一个字符串,返回该字符串的位置(也就是索引),如果截取的字符串有包含多个字符,则返回第一个字符的位置。

例1:

select instr('helloword','l') from dual   ==>3

select instr('helloword','lo') from dual  ==>4

像例1这种情况就是默认从第一个字符开始,查找字符串遇到第一个返回改字符串的位置

例2:

select instr('helloword','l',1,2) from dual  ==>4

select instr('hellowordow','ow',1,2) from dual  ==>10

select instr('hellowordowhelloword','ow',11,1) from dual  ==>16

像例2这种情况就是就是从第三个参数获取到从第几位开始查询,从第四个参数获取到第几次出现的值,将对应值的位置返回。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3