2013-10-22 48 views
0

有一個「INV_NM」欄目下面我表庫存如何查詢有效地使用SUBSTR動態記錄

1000--200 
10000--2000 
900--100 
2000--2200 
70000--2100 
700--700 
4000--4000 
2000--2000 
500--1000 
8000--750 
6000--2000 
100--1000 

DEPT--DIVISION

我只想要我的查詢中獲取同義詞DEPT作爲DEPT_NO在一列中並且DIVISION作爲DIVISION_NO在另一列中。

我可以使用substr(INV_NM,1,X)

X是我的困惑

請幫我在這方面

回答

1

你可以實現與substr()instr()功能如下組合所需的輸出:

select substr(inv_nm, 1, instr(inv_nm, '-')-1) as dept_no 
    , substr(inv_nm, instr(inv_nm, '-', -1) + 1) as DIVISION_NO 
    from inventory 

結果:

DEPT_NO  DIVISION_NO 
----------- ----------- 
1000  200   
10000  2000   
900   100   
2000  2200   
70000  2100   
700   700   
4000  4000   
2000  2000   
500   1000   
8000  750   
6000  2000   
100   1000   

12 rows selected 

SQLFiddle Demo