如何在 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)"
)
我的原始文本文件如下(有两个字段(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)"
)