使用 sql loader 将十进制加载到 oracle 表中

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/21903511/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-19 02:14:53  来源:igfitidea点击:

load decimal into oracle table with sql loader

oraclecsvdecimalsql-loader

提问by Gabriel Gonzales

I have this table in oracle :

我在 oracle 中有这个表:

CREATE TABLE mytable
(
TSTAMP  Date,
prmc1 VARCHAR2(30),
prmc2 VARCHAR2(30),
prmc3 VARCHAR2(30),
prmc4 VARCHAR2(30),
prmc5 NUMBER,
prmc5 NUMBER,
prmc6 NUMBER
)

the control file is below :

控制文件如下:

load data
append
 into table mytable
fields terminated by ',' TRAILING NULLCOLS
 ( tstamp DATE "YYYY-MM-DD HH24:MI" TERMINATED BY ",",
   prmc1 ":prmc1",
prmc2 ":prmc2",
prmc3 ":prmc3",
prmc4 ":prmc4",
prmc5 INTEGER  ":prmc5",
prmc6 INTEGER  ":prmc6"
)

the value of the column prmc5 in the csv file is -106.436

csv文件中prmc5列的值为-106.436

how do i load this into the table?

我如何将它加载到表中?

回答by Maheswaran Ravisankar

You just need to specify it as DECIMAL EXTERNAL

您只需要将其指定为DECIMAL EXTERNAL

I am also removing specifying the format as the column itself.

我还将删除将格式指定为列本身。

load data
append
 into table mytable
fields terminated by ',' TRAILING NULLCOLS
 ( tstamp DATE "YYYY-MM-DD HH24:MI" TERMINATED BY ",",
   prmc1 ,
prmc2 ,
prmc3 ,
prmc4 ,
prmc5 DECIMAL EXTERNAL,
prmc6 DECIMAL EXTERNAL
)

More details with some Example here

更多细节与一些例子here