gpt4 book ai didi

postgresql - NiFi ifelse 表达式不能按预期使用 bool 值

转载 作者:行者123 更新时间:2023-11-29 12:35:45 25 4
gpt4 key购买 nike

我将 JSON 值放入 Postgres 数据库,链接 InvokeHTTP、CovertJSONtoSQL、ReplaceText 和 PutSQL。 ReplaceText 正在向我的 SQL 添加一个额外的“ON CONFLICT...”子句。

作为 ReplaceText 的一部分,我正在使用流文件的一个 sql 属性,据我所知,它作为 bool 值持久化(属性在流文件中显示为“t”或“f” ).我需要将此 bool 值(t 或 f)转换为字符串(“TRUE”或“FALSE”),以便它在我的查询中起作用。我的策略是像在

中那样尝试 ifelse()
${sql.args.3.value:ifElse("TRUE","FALSE")}

即使属性值为“t”,也总是返回“FALSE”。

我首先将它转换为字符串使其工作:

${sql.args.3.value:toString():equals('t'):ifElse("TRUE","FALSE")}

但我很沮丧,它似乎没有按预期工作。有什么想法吗?

谢谢!

最佳答案

这似乎是基于 ifelse 文档的预期行为:

https://nifi.apache.org/docs/nifi-docs/html/expression-language-guide.html#ifelse

如果 sql.args.3.value 包含值“true”或“false”,那么它将被解释为 bool 值,例如在文档中的示例中它具有:

${bool:ifElse('a','b')}

当 bool 的值为“真”时,其计算结果为“a”。

在您的情况下,sql.args.3.value 的值是“t”或“f”,因此它需要应用一个结果为“true”或“false”的操作,例如您对等于('')比较。

关于postgresql - NiFi ifelse 表达式不能按预期使用 bool 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44936382/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com