就比如我要用flink cdc 接入mysql表,一般都是直接将mysql表的DDL稍加修改然后在flink sql中创建,一般都不会考虑到 类型转换的问题就直接沿用mysql中的类型,当然sql也是一样的。同样的sql在满足语法正确性的情况下,mysql中能跑,而flinksql中无法跑, 当然可以通过显示类型转化来完成,但是能提供自动转化会更好的提供易用性。
> 在 2020年11月10日,下午2:51,Danny Chan <danny0...@apache.org> 写道: > > 暂时还没有 你们是什么场景需要用到隐式类型 > > 丁浩浩 <18579099...@163.com> 于2020年11月10日周二 下午2:45写道: > >> 请问有没有计划加入隐式类型自动转化呢 >> >>> 在 2020年11月10日,下午2:35,Jark Wu <imj...@gmail.com> 写道: >>> >>> 是的。Flink 目前还不支持隐式类型转换。 >>> >>> Best, >>> Jark >>> >>> On Tue, 10 Nov 2020 at 14:28, hailongwang <18868816...@163.com> wrote: >>> >>>> Hi, >>>> >>>> >>>> 从你的报错来看,是 in 不支持隐式 CAST。 >>>> 你要么可以把 type 定义成 INT,要不把后面的值 CAST 成 TINYINT。 >>>> >>>> >>>> Best, >>>> Hailong Wang >>>> >>>> 在 2020-11-10 10:41:47,"丁浩浩" <18579099...@163.com> 写道: >>>>> 我使用flink sql cdc取连接 mysql表的时候,当我的mysql表type这个字段类型是tinyint类型时 使用type >>>> in(1,2,3,4,5)会报以下的错误,只有当我把字段类型改成int的时候才能使用in,这是符合预期的吗,当字段类型不匹配的时候 flink >>>> sql不会自动转换类型吗? >>>>> >>>>> [ERROR] Could not execute SQL statement. Reason: >>>>> org.codehaus.commons.compiler.CompileException: Line 6, Column 88: No >>>> applicable constructor/method found for actual parameters "int"; >> candidates >>>> are: "org.apache.flink.table.runtime.util.collections.ByteHashSet() >>>> >> >> >>