2012-10-30 83 views
0

任何機構可以幫我解決這個問題,我需要使用Oracle 9i,
字符串EXP =「員工數*收費+工作經驗」來分割字符串
我的預期輸出是在解析「員工編號」「支付」「經驗年數」之後。
是否有可能在oracle 9i查詢中做,謝謝提前一噸如何在Oracle 9i分割字符串

回答

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 

從你那裏找你需要的東西。 :)

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; 
0

選擇SUBSTR( '僱員*支付+多年的經驗',1,INSTR( '僱員*支付+年以經驗的', '*') - 2),SUBSTR(「員工工資* ('Employee * Pay + Years of Experiece','*')+ 2,instr('Employee * Pay + Years of experience','+') - instr('Employee * Pay + Years ('員工*薪酬+經驗年數',instr('員工*薪酬+經驗年數','+')+ 2);