字符串中“-”前的长度不一定就是三码,有可能是4码或者5码?

oracle中如何截取字符串中,某个字符前的字符串? 例如截取字符串210-1106000001中“-”前的字符串?

幕布斯7119047
浏览 154回答 2
2回答

慕运维8079593

select substr(列, 1, instr(列, '-') -1) from 表。 例:SQL> select substr('210-1106000001', 1, instr('210-1106000001', '-') -1) from dual;SUBSTR('210-1106000001',1,INST------------------------------210SQL> select substr('1210-1106000001', 1, instr('1210-1106000001', '-') -1) from dual;SUBSTR('1210-1106000001',1,INS------------------------------1210

aluckdog

oracle中,截取某个字符串前的字符需要用instr函数和substr函数共同完成。工具:oracle 10g步骤:1、以截取字符串“210-1106000001”中“-”前的部分为例。2、执行语句为:select substr('210-1106000001',1,instr('210-1106000001','-')-1) from dual;3、结果为:instr函数语法:instr( string1, string2, start_position,nth_appearance )参数含义:substr函数语法:substr(strings|express,m,[n])参数含义:strings|express :被截取的字符串或字符串表达式。m 从第m个字符开始截取。n 截取后字符串长度为n。 
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Oracle