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

字符串中“-”前的长度不一定就是三码,有可能是4码或者5码?... 字符串中“-”前的长度不一定就是三码,有可能是4码或者5码? 展开
 我来答
知道小爷
2017-07-09 · TA获得超过1489个赞
知道小有建树答主
回答量:368
采纳率:83%
帮助的人:23.7万
展开全部

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。

sxdtgsh
2011-10-14 · TA获得超过2221个赞
知道小有建树答主
回答量:913
采纳率:75%
帮助的人:806万
展开全部
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
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式