我正在尝试使用 Calcite SQL 语法对 Apache Beam 进行 SQL 转换。我正在做一个 int 到布尔转换。我的 sql 看起来像这样:
,CASE WHEN cast(IsService as BOOLEAN) THEN CASE WHEN IsEligible THEN 1 ELSE 0 END ELSE NULL END AS Reported
其中 IsService 是一个 int 指标,而 IsEligible 是一个布尔值。
根据文档,从 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
谁能解释我为什么会收到错误?