在IBM DataStage的变换阶段,如何从整数字段中提取第一位数字?

问题描述 投票:0回答:1

我有一个整数字段,我想从字段中提取第一个数字,我怎么做。由于数据来自于数据集,我不能投递字段,有什么方法可以在IBM数据阶段的转换阶段提取第一个数字吗?

例子

输入:ABC = 1234

输出: 1

谁能帮我解决这个问题?

谢谢!我有一个整数字段。

datastage
1个回答
0
投票

使用变换器,定义一个阶段变量为varchar,然后用这个公式得到子串

ABC[1,1] 

另外,您也可以通过使用 DecimalToString


0
投票

你可以在表达式的上下文中转换为字符串,如果结果需要是一个整数,你可以再次转换为字符串.AsInteger(Left(ln_jn_ENCNTR_DTL.CCH,1)这个解决方案使用了从整数到字符串的隐式转换。它假设CCH的值总是一个整数。


0
投票

我想说的是--如果ABC的类型是int,你可以定义一个长度为1的char类型的阶段性变量,然后你需要先将Number转换为字符串,并使用Left函数提取第一个char.Left(DecimalToString(ABC),1)。

如果你得到的是ABC的字符串,你可以直接使用Left函数。

© www.soinside.com 2019 - 2024. All rights reserved.