首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Oracle sqlldr -处理输入数据集中的空值

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

Stack Overflow用户
提问于 2018-04-05 22:22:02
回答 2查看 1.2K关注 0票数 2

我正致力于将数据从MySQL转移到Oracle。MySQL输入数据集是通过MySQL数据转储提供的。MySQL数据库中的空值在输出文件中被写为"\N“(没有引号)。

我使用sqlldr将数据输入Oracle,而"\N“值在映射为NUMBER数据类型的列中存在问题,因为Oracle认为它们是字符串。

我如何告诉sqlldr,输入数据集中的任何\N值都应该映射到Oracle中的Nulls?

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-04-06 04:20:02

这就是对我起作用的东西。请注意,如果您是在基于unix的系统上,则需要按以下方式转义\N:

代码语言:javascript
复制
...
COLUMN_NM CHAR(4000) NULLIF COLUMN_NM='\\N',
...
票数 0
EN

Stack Overflow用户

发布于 2018-04-05 23:44:53

可以在控制文件中使用NULLIF。如果在该列中找到\N,则它将赋值null。请参阅下面的语法。

代码语言:javascript
复制
<COLUMN_NUMBER> NULLIF <COLUMN_NUMBER> = '\\N'
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49682425

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档