加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-12 15:16:18 所属栏目:百科 来源:网络整理
导读:留意oracle中integer和number的区别 number 既可以存浮点,也可以存整数:number(p,s) p默认38位,s指的是小数位数; integer 是number的子类,属于38位精度整数; 一. varchar2(10)和number应该转换为什么类型? oracle转成mysql时: varchar2(10)可以转

留意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中却存放不下。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读