【发布时间】:2015-09-14 11:21:30
【问题描述】:
我有两个未指定长度的字符串字段,我们称它们为One 和Two。现在我想连接它们,这样如果One = "aaa" 和Two = "bbb" 结果变为"aaabbb"。对于如何执行此操作,使用Concat fields 步骤似乎是一个合理的初步猜测。
但是,如果我将“目标字段的长度”设置保留为标准值 0,则不会得到任何输出。如果我将它设置为较大的值,比如 100,我总是在最后得到额外的空格。我希望结果字段尽可能长以包含One + Two,而不是更长也不更短。无论如何可以使用此步骤或其他步骤来执行此操作吗?
我尝试使用trim 设置,但它会修剪输入而不是输出。单击“最小宽度”按钮完全没有任何作用。
这似乎应该是一个非常简单的标准任务。我在这里遗漏了什么吗?
编辑:我在这里的输入只是来自Data grid 步骤的几行,网格和连接之间没有任何内容。我尝试用Generate rows 步骤替换网格,但我得到了相同的结果(在生成的字段使用固定长度时,以及将长度字段留空时)。
我的 Kettle 版本是 5.4.0.1-130。我在 Windows 7 x64 平台上运行它。
【问题讨论】:
-
“如果我将“目标字段的长度”设置保留为标准值 0,我将没有输出” - 这很奇怪。它适用于我的测试字段(通过使用“生成行”-步骤)没有问题。也许您的传入字符串有问题?我也建议尝试使用生成行步骤。如果一切正常,我们可以专注于您的传入数据。
-
如果我用除 NULL 以外的任何值指定两个字符串字段的长度,我只能重现该问题,但正如您所写:“两个未指定长度的字符串字段”,这不应该是问题...
-
@Seb 我用输入信息更新了我的问题。
标签: string pentaho string-concatenation kettle