从Oracle同步数据到ODPS,Oracle字段VERPR2是number类型,目标ODPS字段是String类型。预览时,小数的整数位为0时,整数位的0不见了,写入ODPS结果也是不带0的。
Dataphin管道任务从Oracle读取绝对值小于1的小数,只会显示小数点后面的值
概述
Dataphin管道任务从Oracle读取绝对值小于1的小数,只会显示小数点后面的值,小数点前面的0就会被忽略掉。
详细信息
Oracle本身的特性会导致绝对值小于1的小数,则只会显示小数点后面的值,小数点前面的0就会被忽略掉,例如:0.1
, 所以您预览的时候,会显示为.1
,如果您同步到非String类型,例如double,那么实际存储的数据就是正常的。建议更换ODPS目标类型。不要使用string存储Oracle的number类型。
Oracle数据库中数据没问题,因为Oracle提供的驱动,取出对应的数据的时候,小于1的时候,会丢失0。
规避办法:
- 同步到非string字段,例如double字段。
- 脚本模式使用querySQL,将对应字段进行转换。
select to_char(0.338,'fm9999999990.00') from dual;
适用于
- Dataphin