有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何在apachebeam中进行SQL转换时将int转换为boolean

我正在尝试使用方解石SQL语法对ApacheBeam进行SQL转换。我正在做一个整型到布尔型的转换。我的sql如下所示:

,CASE WHEN cast(IsService as BOOLEAN) THEN CASE WHEN IsEligible THEN 1 ELSE 0 END ELSE NULL END AS Reported

其中IsService是一个指示符int,IsEligible是一个布尔值

根据documentation,从int到boolean的显式转换是很好的。 但是,我在运行管道时遇到以下错误:

Caused by: org.apache.beam.vendor.calcite.v1_20_0.org.apache.calcite.sql.validate.SqlValidatorException: Cast function cannot convert value of type INTEGER to type BOOLEAN

有人能解释我为什么会出错吗


共 (1) 个答案

  1. # 1 楼答案

    要立即解决问题,可以使用IsService > 0而不是CAST。在我看来,更清楚的是什么是转换。我不喜欢依赖“虚假”的价值观