oracle中如何截取字符串中,某个字符前的字符串? 例如截取字符串210-1106000001中“-”前的字符串?
2个回答
展开全部
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。
展开全部
select substr(列, 1, instr(列, '-') -1) from 表。
例:
SQL> select substr('210-1106000001', 1, instr('210-1106000001', '-') -1) from dual;
SUBSTR('210-1106000001',1,INST
------------------------------
210
SQL> select substr('1210-1106000001', 1, instr('1210-1106000001', '-') -1) from dual;
SUBSTR('1210-1106000001',1,INS
------------------------------
1210
例:
SQL> select substr('210-1106000001', 1, instr('210-1106000001', '-') -1) from dual;
SUBSTR('210-1106000001',1,INST
------------------------------
210
SQL> select substr('1210-1106000001', 1, instr('1210-1106000001', '-') -1) from dual;
SUBSTR('1210-1106000001',1,INS
------------------------------
1210
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询