我正在将数据从 MySQL 迁移到 Oracle。 MySQL 输入数据集是通过 MySQL 数据转储提供的。 MySQL 数据库中的空值在输出文件中写为“\N”(不带引号)。
我正在使用 sqlldr 将数据导入 Oracle,“\N”值在映射到 NUMBER 数据类型的列中有问题,因为 Oracle 认为它们是字符串。
我如何告诉 sqlldr 输入数据集中的任何\N 值都应该映射到 Oracle 中的 Null?
谢谢。
最佳答案
这对我有用。请注意,如果您使用的是基于 unix 的系统,则\N 需要按如下方式进行转义:
...
COLUMN_NM CHAR(4000) NULLIF COLUMN_NM='\\N',
...
关于mysql - Oracle sqlldr - 处理输入数据集中的空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49682425/