oracle转Mysql中,varchar2(10)和number应该转换为什么类型?

留意oracle中integer和number的区别


number 既可以存浮点,也可以存整数:number(p,s) p默认38位,s指的是小数位数;
integer 是number的子类,属于38位精度整数;


一. varchar2(10)和number应该转换为什么类型?

oracle转成MysqL时:
varchar2(10)可以转成varchar(10)
number则要看oracle中存储的具体是什么类型的数据:
1、如果是整型,那么MysqL中,用int即可;
2、如果是带小数位的,那么MysqL中可用numeric类型。

注:MysqL中没有varchar2(10)和number这两个数据类型

二.MysqL varchar VS Oracle varchar2

MysqL和oracle做数据同步。其中表的一个字段在MysqL中设置为varchar(6),Oracle中为varchar2(6)
MysqL中能正常存放的数据同步到oracle中却抱ORA-12899: value too large for column错误
这是为什么呢?

MysqL中varchar(6)代表可以存放6个汉字,6个字母,或6个数字。
oracle中varchar2(6)代表可以中存放6个字节。即oracle中varchar2的长度代表字节数而不是字符数。
MysqL中一个汉字占三个字节,Oracle中一个汉字占两个字节。

虽然MysqL varchar 和orache varchar2中字段设置相同的长度,但oracle中却存放不下。

相关文章

数据库版本:11.2.0.4 RAC(1)问题现象从EM里面可以看到,在23号早上8:45~8:55时,数据库等待会话暴增...
(一)问题背景最近在对一个大约200万行数据的表查看执行计划时,发现存在异常,理论上应该返回100多万...
(一)删除备份--DELETE命令用于删除RMAN备份记录及相应的物理文件。当使用RMAN执行备份操作时,会在RM...
(1)DRA介绍 数据恢复顾问(Data Recovery Advise)是一个诊断和修复数据库的工具,DRA能够修复数据文...
RMAN(Recovery Manager)是Oracle恢复管理器的简称,是集数据库备份(backup)、修复(restore)和恢复...
(1)备份对象 可以使用RMAN进行的备份对象如下: --整个数据库:备份所有的数据文件和控制文件; --数...