MySql与Orcale互换的时候,注意区别

1、字符类型比较

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中一个汉字占两个字节。

2、判断语句

mysql的sql语句中可以直接if/else判断

IF(ERROR_CODE= '0','发送成功','发送失败') AS ERROR_MSG

Oracle不行,只能用case when

(CASE ERROR_CODE
          when '0' then '发送成功'
          when '1' then '发送失败'
     END) AS ERROR_MSG

 

你可能感兴趣的:(MySql与Orcale互换的时候,注意区别)