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

一. 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中却存放不下。