我正致力于将数据从MySQL转移到Oracle。MySQL输入数据集是通过MySQL数据转储提供的。MySQL数据库中的空值在输出文件中被写为"\N“(没有引号)。
我使用sqlldr将数据输入Oracle,而"\N“值在映射为NUMBER数据类型的列中存在问题,因为Oracle认为它们是字符串。
我如何告诉sqlldr,输入数据集中的任何\N值都应该映射到Oracle中的Nulls?
谢谢。
发布于 2018-04-06 04:20:02
这就是对我起作用的东西。请注意,如果您是在基于unix的系统上,则需要按以下方式转义\N:
...
COLUMN_NM CHAR(4000) NULLIF COLUMN_NM='\\N',
...发布于 2018-04-05 23:44:53
可以在控制文件中使用NULLIF。如果在该列中找到\N,则它将赋值null。请参阅下面的语法。
<COLUMN_NUMBER> NULLIF <COLUMN_NUMBER> = '\\N'https://stackoverflow.com/questions/49682425
复制相似问题