使用 Pentaho Kettle 将字符串转换为布尔值

Convert string to boolean with Pentaho Kettle

我正在使用 Pentaho Kettle 将 Oracle 数据库移动到 Mongo 数据库。我已经成功地完成了几乎所有我想做的事情,但我还有最后一个问题。

在 oracle 数据库中,他们有一个具有两种状态的字段:Y 或 N,而不是漂亮的布尔值 truefalse.我想在转换中做一个映射,说 Y 是 true,N 是 false,但是 Pentaho 将它翻译成字符串,而不是像真实 truefalse.

我有设置布尔值的简单方法吗?

提前致谢!

您可以在 Meta-data 面板上使用 Select values 步骤更改类型。

而且有效!

但是,由于布尔值在 PDI 中的字符串表示形式是 Y/N 以及 true/false,具体取决于上下文,有罪的步骤可能是 Mongo DB Output.

右键单击 Oracle Table Input、select output field 并检查您的字段类型。如果它不是布尔值,则用 Select value.

转换它

然后右键单击 Mongo DB Output、select input field 并检查您的字段类型。如果它是布尔值,那么它会自动转换为 Y/N。在这种情况下,使用 Replace in string 步骤并将 Y/N 转换为 "true"/"false" 作为字符串,然后让 Mongo DB 静默将这些特殊字符串转换为布尔值。