记录一次数据库迁移问题
从Oracle数据库往MySQL数据库迁移数据及相关内容时,遇到的问题。
数据表的字段区别
用Navicat Premium工具进行数据迁移,迁移过程中,数据迁移出错,查看日志主要是某些表的字段在MySQL中不能被转换,主要体现在Oracle的CLOB字段。
- Oracle的CLOB字段对应MySQL的Text,但Navicat Premium工具不会迁移带有此字段的表及数据,需要手动建立对应的MySQL表结构,然后将数据导入 。
- Oracle的NUMBER在迁移时会被转化成Mysql的decimal类型,在Oracle中如果没有设置长度,转换后在MySQL中的字段长度会被赋予默认值并且小数位也有默认值。
3.Oracle的TIMESTAMP在迁移时被转化成Mysql的Datetime类型。 - Oracle的NVARCHAR2在迁移时被转化成MySQL的varchar类型,但是如果在Oracle的长度过大,在MySQL中直接被转换成text。
视图迁移中的函数问题及其他问题
- Oracle中的nvl() 函数对应MySQL的 IFNULL函数。
- Oracle中的nvl2() 函数对应MySQL的 IF函数。
- Oracle中的to_char函数对应MySQL的 date_format函数。
- Oracle中的“ || ”可以连接字符串,但在MySQL中不可以,在MySQL中用 CONCAT() 函数来连接字符串。
参考:https://blog.csdn.net/lanmuhhh2015/article/details/97763615
版权声明:本文为weixin_44653327原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。