SQLULDR2处理MySQL的空值
浏览:2556次 出处信息
要将Oracle数据库中的大量数据迁移到MySQL中, 用SQLULDR2生成格式化文本文件, 然后用mysqlimport来导入到目标库, 是一个高效免费的方案. 最近正好有这样的一个数据迁移需求, 并做了一些测试, 速度很不错, 但MySQL对于空值(NULL)的处理有些特殊, 在以前的SQLULDR2中, 空值输出成空的字符串, 如下所示.
ICOL$,TABLE,4CON$,TABLE,
UNDO$,TABLE,
C_COBJ#,CLUSTER,
PROXY_ROLE_DATA$,TABLE,
......
用mysqlimport导入数据时, 第三列上的空值(Oracle中)导入到MySQL中时, 就不是空值(NULL)了, 而是长度为0的字符串, 如果导入到数字类型中, 则全变成0, 很显然这不是我们想要的结果. mysqlimport在默认情况下, 会将\\N处理成NULL值, 因此从Oracle导出成文本时, 需要将空值处理一下, 以方便在MySQL中准确导入.
ICOL$,TABLE,4CON$,TABLE,\\N
UNDO$,TABLE,\\N
C_COBJ#,CLUSTER,\\N
PROXY_ROLE_DATA$,TABLE,\\N
......
在使用SQLULDR2时, 指定NULL命令行选项即可, 如下所示.
SQLULDR2 sys QUERY=tab NULL=\\N前几天还在想SQLULDR2都这么多命令行选项了, 应当齐了吧, 没想到又多了一个用户需求导致的命令行选项. 用户需求真是值得我们好好研究.
建议继续学习:
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
扫一扫订阅我的微信号:IT技术博客大学习
<< 前一篇:没有更老的了!,您可返回本栏目:MySQL
后一篇:Mysql中如何批量生成脚本 >>
文章信息
- 作者:anysql 来源: AnySQL.net
- 标签: SQLULDR2
- 发布时间:2009-10-11 00:07:50
建议继续学习
近3天十大热文
-
[63] memory prefetch浅析
-
[52] 转载:cassandra读写性能原理分析
-
[49] 深入浅出cassandra 4 数据一致性问
-
[39] 《web前端最佳实践》—高维护性css
-
[39] 字符引用和空白字符
-
[39] 获取Dom元素的X/Y坐标
-
[39] MySQL半同步存在的问题
-
[38] javascript插入样式
-
[38] 基本排序算法的PHP实现
-
[37] JS中如何判断字符串类型的数字