0

我的表 INVENTORY 中有一个“INV_NM”列,如下所示

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

我只想在我的查询中获取DEPTDEPT_NO列和另一列中的内容DIVISIONDIVISION_NO

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

X我的困惑是

请在这方面帮助我

4

1 回答 1

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 演示

于 2013-10-22T17:59:14.847 回答