Csv 告诉sqlldr控制文件将缺少的值加载为NULL
我有一个CSV文件。如何告诉sqlldr控制文件将缺少的值加载为NULL。(即表架构允许某些列为NULL) CSV示例Csv 告诉sqlldr控制文件将缺少的值加载为NULL,csv,sql-loader,Csv,Sql Loader,我有一个CSV文件。如何告诉sqlldr控制文件将缺少的值加载为NULL。(即表架构允许某些列为NULL) CSV示例 1,Name1 2,Name2 3, 4,Name3 您能帮我在这里编辑我的控制文件吗?这样,第3行,缺失的值就会作为NULL插入到我的表中 桌子 控制文件 LOAD DATA INFILE '{path}\CSVfile.txt' INSERT INTO test FIELDS TERMINATED BY ',' (id CHAR, name CHAR ) 我相信你所要
1,Name1
2,Name2
3,
4,Name3
您能帮我在这里编辑我的控制文件吗?这样,第3行,缺失的值就会作为NULL插入到我的表中
桌子
控制文件
LOAD DATA INFILE '{path}\CSVfile.txt'
INSERT INTO test
FIELDS TERMINATED BY ','
(id CHAR,
name CHAR
)
我相信你所要做的就是:
name CHAR(10) NULLIF(name=BLANKS)
我相信你所要做的就是:
name CHAR(10) NULLIF(name=BLANKS)
我发现使用尾随的null行可以完成这项工作,但必须用于记录行末尾的“空格”
LOAD DATA INFILE {path}\Your_File
INSERT INTO TABLE Your_Table
TRAILING NULLCOLS
FIELDS TERMINATED BY ","
(
... your fields
)
我发现使用尾随的null行可以完成这项工作,但必须用于记录行末尾的“空格”
LOAD DATA INFILE {path}\Your_File
INSERT INTO TABLE Your_Table
TRAILING NULLCOLS
FIELDS TERMINATED BY ","
(
... your fields
)
您必须向SQL*Loader提示数据中可能存在空值 向SQL*加载器提供该提示的两种方法
- 使用尾随空列选项
加载数据填充“{path}\CSVfile.txt”
插入测试
以“,”结尾的字段
尾随零线
(id CHAR,
名称字符
)
- 重新创建带有封闭字段的CSV文件,然后使用“”
”abcd“,”
加载数据填充“{path}\CSVfile.txt”
插入测试
字段以“,”结尾,也可以用“,”括起
(id CHAR,
名称字符
)
您必须向SQL*Loader提示数据中可能存在空值
向SQL*加载器提供该提示的两种方法
- 使用尾随空列选项
加载数据填充“{path}\CSVfile.txt”
插入测试
以“,”结尾的字段
尾随零线
(id CHAR,
名称字符
)
- 重新创建带有封闭字段的CSV文件,然后使用“”(可选)封闭“”,这样SQL*Loader可以清楚地看到数据中的空值(引号之间没有任何内容),看起来像“
”abcd“,”
加载数据填充“{path}\CSVfile.txt”
插入测试
字段以“,”结尾,也可以用“,”括起
(id CHAR,
名称字符
)
不,不是那样的。您提供的内容将忽略该记录,并将其视为要丢弃的记录。我发现追踪无尾蛇会奏效的。哦,当然。我的控制文件里也有。不,不是那样的。您提供的内容将忽略该记录,并将其视为要丢弃的记录。我发现追踪无尾蛇会奏效的。哦,当然。我的控制文件里也有。我不明白你的意思<代码>NVL(:home\u points,0)将用0
替换home\u points
中遇到的null
。这不是我想做的。我希望将未定义的值记录为NULL
,即home\u points
列可为NULL0
不是NULL
值我不明白你的意思<代码>NVL(:home\u points,0)将用0
替换home\u points
中遇到的null
。这不是我想做的。我希望将未定义的值记录为NULL
,即home\u points
列可为NULL0
不是一个NULL
值。外部表的DDL接受“缺少的字段值为NULL
”-但是SQLLDR控制文件似乎不支持这种情况。@YoYo我希望能告诉你一些关于它的事情,但我不能。我从未将该选项用于外部表。试着问一下,我打赌如果你在这里查询或在这里启动一个新线程,他们会回答得更好。令人困惑的是,外部表的DDL接受“缺少的字段值为空”
”-但是SQLLDR控制文件似乎不支持这一点。@YoYo我希望我能告诉你一些事情,但我不能。我从未将该选项用于外部表。试着问一下,我打赌他们能更好地回答你的问题,或者在这里开始一个新的线程。