Oracle 如何在sql加载器文件中执行添加功能
我有一个固定长度的数据文件a.dat,其中包含以下数据 123454455002200011000330006600000 我的重点是具体的职位 位置(1:4)Oracle 如何在sql加载器文件中执行添加功能,oracle,sql-loader,Oracle,Sql Loader,我有一个固定长度的数据文件a.dat,其中包含以下数据 123454455002200011000330006600000 我的重点是具体的职位 位置(1:4) 位置(5:8) 我想在这两个位置添加值,并将其插入XYZ_表中名为Qty的字段中 我正在尝试在我的CTL文件中添加以下内容。但它失败了,我不知道如何进一步追求它 LOAD DATA INFILE '$SOME_DATA/a.dat' APPEND PRESERVE BLANKS INTO TABLE XYZ_Table (QTY
位置(5:8) 我想在这两个位置添加值,并将其插入XYZ_表中名为Qty的字段中 我正在尝试在我的CTL文件中添加以下内容。但它失败了,我不知道如何进一步追求它
LOAD DATA
INFILE '$SOME_DATA/a.dat'
APPEND
PRESERVE BLANKS
INTO TABLE XYZ_Table
(QTY POSITION(1:4)+POSITION(5:8) "to_number(:QTY)")
我只需要在SQL加载器中实现此添加功能
如果上述方法不可行,如果您能用不同的方法帮助我,那就太好了
注:我试图实现的只是更大的CTL文件的一部分。您需要确定要添加在一起但不作为“BOUNDFILLER”加载到其自己的列中的位置,这意味着不加载它们,而是记住它们以供以后在表达式中使用。然后像这样使用:
LOAD DATA
infile test.dat
append
preserve blanks
INTO TABLE X_test
TRAILING NULLCOLS
(val_1 BOUNDFILLER position(1:4)
,val_2 BOUNDFILLER position(5:8)
,qty ":val_1 + :val_2"
)
为什么[mysql]和[oracle]都有这个问题的标签?嗨,鲍勃,我是这个论坛的新手,花时间学习正确的标签。。