mysql - Oracle sqlldr - 处理输入数据集中的空值

标签 mysql oracle sql-loader

我正在将数据从 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/

相关文章:

sql - postgresql 中咨询锁超时

sql loader 总是截断第一列

php - 将 .BAK 文件转换为 .SQL 以在 XAMPP phpmyadmin 中使用

MySQL Workbench - 标准 (TCP/IP) 优于标准 TCP/IP 优于 SSH?

数据库;来自不同类别的列表

sql - 将数字格式化为货币金额

php - MySQL |动态查询-在线用户

oracle - 如何列出具有一列最大值的行

sql - 使用SQL Loader导入csv文件到表中[但是大号。列数]

oracle - 用于创建 Oracle SQL Loader 控制文件的用户界面