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)
varchar2最大长度但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中却存放不下。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论