PLSQL 获取两个字符之间的数字和某个字符之前的数字
--- 获取两个字符之间的数字
Select zy, ---显示原字段
INSTR(aa.zy, '+') jh, --- 截取 + 出现的位置
INSTR(aa.zy, '*') ch, --- 截取 * 出现的位置
length(aa.zy) cd,
INSTR(aa.zy, '*') - INSTR(aa.zy, '+') - 1 ts, --- 两个数之间的长度 8 到 14 之间还有 5个数 即 长度为 5
Substr(aa.zy,
INSTR(aa.zy, '+') + 1,
INSTR(aa.zy, '*') - INSTR(aa.zy, '+') - 1) jg
From (Select 'F000000+11335*2099100' zy From dual t) aa;
--- 取固定字符前面的数据
Select zy, ---显示原字段
--- INSTR(aa.zy, '*') - INSTR(aa.zy, '+') - 1 ts, --- 两个数之间的长度 8 到 14 之间还有 5个数 即 长度为 5
Substr(aa.zy, 0, length(aa.zy) - INSTR(aa.zy, '|') - 1) jg
From (Select '165987160|1000610995' zy From dual t) aa;
效果: