如何在 oracle SQLLDR 控制文件的单列中连接两个字段?

How to concatenate two field in single column in oracle SQLLDR control file?

我的原始文本文件如下(有两个字段(ACC 和 INT))

ACC 整数


1160 1291

1160 1291

1160 1291

1160 1291

我的table -> 创建table产品(product_CODE号);

控制文件-> 加载数据

infile 'E:\SQLLDR\product.txt' "str '\r\n'"

追加到 table 产品中

字段

尾随空列 (

product_code 位置 (1:9)

)

要求:需要没有 space 的产品代码,如下所示

select * 来自产品;

PRODUCT_CODE

11601291

11601291

11601291

11601291

如何实现?

我认为您需要在这里使用 REPLACE 函数,将其视为字符串,如下所示:

product_code position (1:9) "REPLACE(:PRODUCT_CODE,' ','')"

我还没有测试过,但如果您发现此解决方案有任何问题,可以发表评论

这样的事情怎么样?

LOAD DATA 
INFILE * 
append into table product
( ACC FILLER 
  INT FILLER 
  PRODUCT_CODE  VARCHAR "UPPER(:ACC || :INT)" 
)