告诉 sqlldr 控制文件将缺失值加载为 NULL
Tell sqlldr control file to load missing values as NULL
我有一个 CSV 文件。我如何告诉 sqlldr 控制文件将缺失值加载为 NULL。 (即 table 架构允许某些列为 NULL)
CSV 示例
1,Name1
2,Name2
3,
4,Name3
你能帮我在这里编辑我的控制文件,以便第 3 行,缺失值在我的 table
中插入为 NULL
Table
Create table test
( id Number(2), name Varchar(10), primary key (id) );
控制文件
LOAD DATA INFILE '{path}\CSVfile.txt'
INSERT INTO test
FIELDS TERMINATED BY ','
(id CHAR,
name CHAR
)
我相信你只需要这样做:
name CHAR(10) NULLIF(name=BLANKS)
我发现使用 TRAILING NULLCOLS 可以完成工作,但它必须用于记录行末尾的 "blanks"。
LOAD DATA INFILE {path}\Your_File
INSERT INTO TABLE Your_Table
TRAILING NULLCOLS
FIELDS TERMINATED BY ","
(
... your fields
)
您必须向 SQL*Loader 提示您的数据中可能存在空值。
2 种向 SQL*Loader 提示的方法。
- 使用 TRAILING NULLCOLS 选项。
LOAD DATA INFILE '{path}\CSVfile.txt'
INSERT INTO test<br>
FIELDS TERMINATED BY ','
TRAILING NULLCOLS
(id CHAR,
name CHAR
)
- 重新创建包含字段的 CSV 文件,然后使用 OPTIONALLY ENCLOSED BY '"' 让 SQL*Loader 清楚地看到数据中的空值(两者之间没有任何内容)引号)看起来像
"abcd",""
LOAD DATA INFILE '{path}\CSVfile.txt'
INSERT INTO test<br>
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
(id CHAR,
name CHAR
)
我有一个 CSV 文件。我如何告诉 sqlldr 控制文件将缺失值加载为 NULL。 (即 table 架构允许某些列为 NULL)
CSV 示例
1,Name1
2,Name2
3,
4,Name3
你能帮我在这里编辑我的控制文件,以便第 3 行,缺失值在我的 table
中插入为 NULLTable
Create table test
( id Number(2), name Varchar(10), primary key (id) );
控制文件
LOAD DATA INFILE '{path}\CSVfile.txt'
INSERT INTO test
FIELDS TERMINATED BY ','
(id CHAR,
name CHAR
)
我相信你只需要这样做:
name CHAR(10) NULLIF(name=BLANKS)
我发现使用 TRAILING NULLCOLS 可以完成工作,但它必须用于记录行末尾的 "blanks"。
LOAD DATA INFILE {path}\Your_File
INSERT INTO TABLE Your_Table
TRAILING NULLCOLS
FIELDS TERMINATED BY ","
(
... your fields
)
您必须向 SQL*Loader 提示您的数据中可能存在空值。
2 种向 SQL*Loader 提示的方法。
- 使用 TRAILING NULLCOLS 选项。
LOAD DATA INFILE '{path}\CSVfile.txt'
INSERT INTO test<br>
FIELDS TERMINATED BY ','
TRAILING NULLCOLS
(id CHAR,
name CHAR
)
- 重新创建包含字段的 CSV 文件,然后使用 OPTIONALLY ENCLOSED BY '"' 让 SQL*Loader 清楚地看到数据中的空值(两者之间没有任何内容)引号)看起来像
"abcd",""
LOAD DATA INFILE '{path}\CSVfile.txt'
INSERT INTO test<br>
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
(id CHAR,
name CHAR
)