全部产品
阿里云办公

类型转换

更新时间:2017-09-08 08:18:51

由于历史遗留问题,数据集成在面对各类异构数据同步过程仍然难以避免源宿两端数据类型不匹配情况,例如用户需要从 Mysql 的 Varchar 类型导入 ODPS 的 BIGINT 类型。对于较为通用的数据类型转换数据集成自身提供了统一的框架级定义,方便用户需要在不同数据类型中做转换。

类型 转换 Long Double String Date Bool Byte
Long Y Y Y [1] [2] N
Double Y Y Y N N N
String [3] [4] Y [5] [6] N
Date [7] N [8] Y N N
Bool [9] N Y N Y N
Bytes N N [10] N N Y

数据集成默认的类型转换规则处理了大部分通用的数据转换规则。针对部分数据类型转换,数据集成规则需要用户知晓:

[1] Long转换为Date,将Long数值视作Java提供Unix时间戳转换为Date,精度为毫秒。

[2] Long转换为Bool,0视为false,否则为true

[3] String转换为Long,整数型字符串支持转换为Long,否则报错。不支持科学计数法字符串。

[4] String转换为Double,浮点型字符串支持转换为Long,否则报错。不支持科学计数法。

[5] String转换为Date,用户自定义时间格式(例如YYYY-MM-DD),满足用户时间格式可以转换,否则报错。

[6] String转换为Bool,“true”转为true,”false”转为false,其他报错。

[7] Date转为Long,将Date转为Unix时间戳。

[8] Date转换为String,根据用户自定义时间格式(例如YYYY-MM-DD)转换为字符串。

[9] Bool转换为Long,true转为1,false转为0。

[10] Bytes转换为String,根据用户指定的字符集编码转为String。

注意:数据集成传输过程中自动进行编码转换,例如数据集成自动从 Mysql GBK 的字段导入 ODPS UTF-8字段,用户不需要干预。