【发布时间】:2015-01-07 12:53:39
【问题描述】:
我正在使用 Oracle 11g,我正在尝试使用 SQL*Loader 从文本文件中加载数据
这是一个数据示例(还有更多列):
123456789876543212,100,333,432,02/05/2014,02/05/2014,02/05/2014,1.1,AA
我想首先将数据作为 VARCHAR2 加载到数据库中,然后通过查询将它们转换为数据库中正确的数据类型。在我看来,这要容易得多。
这是我的桌子 (MyTable):
create table MyTable
(
A varchar2(500)
B varchar2(500)
C varchar2(500)
D varchar2(500)
E varchar2(500)
F varchar2(500)
G varchar2(500)
H varchar2(500)
I varchar2(500)
)
这是我的加载脚本:
load data
infile 'D:\MyFile.txt'
into table MyTable
fields terminated by ','
trailing nullcols
(
A char(4000),
B char(4000),
C char(4000),
D char(4000),
E char(4000),
F char(4000),
G char(4000),
H char(4000),
I char(4000)
)
这是数据加载到数据库后的样子。
1 2 3 4 5 6 7 8 9 8 7 6 5 4 3 2 1 2,1 0 0,3 3 3,4 3 2,0 2 / 0 5 / 2 0 1 4,0 2 / 0 5 / 2 0 1 4,0 2 / 0 5 / 2 0 1 4, 1 . 1,A A
为什么我的数据看起来像这样?这些空间是什么?我在数据加载方面没有太多经验。
我猜问题出在数据库和加载文件中的表的数据类型上。定义诸如数据的正确方法是什么?我想将数据按原样加载到数据库中。我将通过查询在数据库中进行对话。请注意,第一列有 18 位数字。
【问题讨论】:
-
如果你不能从文件中删除你可以参考make replace the string stackoverflow.com/questions/5505835/…
-
这很大程度上取决于您的文本编辑器@Omri。
-
好的。谢谢。我会检查一下。
标签: sql oracle sql-loader