文档

Dataphin管道任务从Oracle读取绝对值小于1的小数,只会显示小数点后面的值

更新时间:
一键部署

概述

Dataphin管道任务从Oracle读取绝对值小于1的小数,只会显示小数点后面的值,小数点前面的0就会被忽略掉。

从Oracle同步数据到ODPS,Oracle字段VERPR2是number类型,目标ODPS字段是String类型。预览时,小数的整数位为0时,整数位的0不见了,写入ODPS结果也是不带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
  • 本页导读
文档反馈