datastage 中StringToDecimal 将字符串转换为decimal 后会自动补零,如何处理?

0
在datastage 中使用StringToDecimal()函数将字符串转换为decimal存入db2中,会将小数自动补零,例如,1.23 会变成 1.23000 其中零的个数是按照decimal(x,y)的y的大小来补齐的。
已邀请:
0

我是最优雅的杀手,不杀人专杀狗 - 日光之下并无新事 2016-02-29 回答

目前我这边处理方法,就是直接截断,只获取小数点后三位数值。或者该字段创建直接NUNMBER 不做NUMBER(p, s)类型。
以下是这个函数资料:有问题可以联系。
【函数名】:StringToDecimal
【函数形式】:StringToDecimal (Date (String) t1 [rtype (string) t2])
【功能】:由字符返回十进制数类型
【参数】:
t1:
类型:字符
t2:
类型:字符,十进制截取的形式 如ceil. 正无穷大方向截取. E.g, 1.4 -> 2, -1.6 -> -1默认为 trunc_zero

【返回值】:
类型:十进制数
值域:
【备注】
返回十进制数的精度和范围由目标字段决定,
参数t2十进制截取的形式,该参数可选:
ceil. 正无穷大方向截取. E.g, 1.4 -> 2, -1.6 -> -1.
floor. 负无穷大方向截取. E.g, 1.6 -> 1, -1.4 -> -2.
round_inf. 已“四舍五入”原则,取最接近的数 E.g, 1.4 -> 1, 1.5 -> 2, -1.4 -> -1, -1.5 -> -2.
trunc_zero. 根据目标值的精度范围舍弃多余小数位. E.g, 1.6 -> 1, -1.6 -> -1.

默认为trunc_zero

要回复问题请先登录注册