oracle 如何截取两个"-"之间的字符串

2022-08-06 教育 610阅读

可以使用substr函数及instr函数共同实现:

如,字符串为:123-asdf-119

现在要截取两个“-”中间的字符串,可用如下语句:

select substr('123-asdf-119',instr('123-asdf-119','-')+1,instr('123-asdf-119','-',instr('123-asdf-119','-')+1)-instr('123-asdf-119','-')-1) from dual;

查询结果:


instr函数:

语法如下: 

instr( string1, string2, start_position,nth_appearance )

substr函数:

substr(string,start,length)

string - 指定的要截取的字符串

start - 必需,规定在字符串的何处开始

正数 - 在字符串的指定位置开始

负数 - 在从字符串结尾的指定位置开始

0 - 在字符串中的第一个字符处开始

length - 可选,指定要截取的字符串长度,缺省时返回字符表达式的值结束前的全部字符。

声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com