Oracle sqlldr:删除分隔符

时间:2014-04-01 08:20:38

标签: oracle sql-loader

我有一个NPWP列,其中包含如下所示的数字:

NPWP

012345678-613.001
001234565-005.000

和npwp的表

create table npwp (
no_npwp varchar2(15)
)

如何告诉loader.ctl以删除标记-.

那样的?

OPTIONS (SKIP=11, errors=12000) 
LOAD DATA  
APPEND INTO TABLE npwp (
npwp POSITION(1:9)||POSITION(11:3)||POSITION(15:3)) 

1 个答案:

答案 0 :(得分:1)

使用sql表达式。例如:

APPEND INTO TABLE npwp (
  npwp "REPLACE(REPLACE(:npwp ,'-'),'.')"
)

APPEND INTO TABLE npwp (
  npwp "substr(:npwp, 1, 9) || substr(:npwp, 11, 3) || substr(:npwp, 15)"
)