0

任何人都可以帮我解决这个问题吗,我需要使用 oracle 9i
String exp=" Employee Number * Pay + Years of Experience"
我的预期输出是在解析 "Employee Number" "Pay" "Years of Experience" 之后”。
是否可以在 oracle 9i 查询中进行,非常感谢

4

3 回答 3

2
select substr('Employee * Pay + Years of experience',1,instr('Employee * Pay + Years of experience','*')-2),substr('Employee * Pay + Years of experience',instr('Employee * Pay + Years of experience','*')+1,length('Employee * Pay + Years of experience')-instr('Employee * Pay + Years of experience','*')-21),substr('Employee * Pay + Years of experience',instr('Employee * Pay + Years of experience','+')+1) from dual;
于 2012-11-02T09:51:04.987 回答
1

一个直接的答案是使用 SUBSTR 和 INSTR 函数。这是一个例子:

select substr('Employee * Pay + Years', 1, instr('Employee * Pay + Years', '*') - 2),
        substr('Employee * Pay + Years', instr('Employee * Pay + Years', '*') + 2, 
                    instr('Employee * Pay + Years', '+') - instr('Employee * Pay + Years', '*') - 3),
        substr('Employee * Pay + Years', instr('Employee * Pay + Years', '+') + 2)
from dual

从那里开始你需要的东西。:)

于 2012-10-30T09:59:22.767 回答
0

select substr('员工 * 工资 + 工作年限', 1, instr('员工 * 工资 + 工作年限', '*') - 2),substr('员工 * 工资 + 工作年限',instr(' Employee * Pay + Years of experiece', '*') + 2,instr('Employee * Pay + Years of experience', '+') - instr('Employee * Pay + Years of experiece','*')- 3),substr('员工*薪酬+工作年限',instr('员工*薪酬+工作年限','+') + 2)from dual;

于 2012-11-02T09:58:22.427 回答