flink Unsupported operand types: IF(boolean, NULL, String)

问题:业务方存储了NULL 字符串,需要处理为 null

sql 复制代码
select if('a'='null',null,'a');

结果遇到了 Unsupported operand types: IF(boolean, NULL, String),根据报错反馈,很明显应该是没有对 null 自动转换(Spark 是会自动转的)

源码:

if 的源码我以前看过,就是calcyte自动生成的,在org.apache.flink.table.planner.codegen.calls 的 IfCallGen 类

确实没办法了,只能

sql 复制代码
select if(a='null',cast(null as string),'a')
相关推荐
春天的菠菜12 分钟前
【私服】一步部署 Docker 私服
java·docker·容器
有味道的男人17 分钟前
1688 跨境 API:多语言、跨境代采、独立站商品同步方案
java·服务器·前端
兩尛20 分钟前
C++多线程,并发
java·开发语言
逆境不可逃26 分钟前
Hello-Agents 第二部分-第六章:框架开发实践
java·人工智能·分布式·学习·架构·rabbitmq
我不是8神34 分钟前
面试题:Gorutine泄露的条件有哪些?
java·开发语言
爱好物理的一名程序员XiaoK35 分钟前
搭建网站时遇到的只显示空白界面
java
AC赳赳老秦36 分钟前
OpenClaw与思维导图工具联动:自动生成工作规划脑图、拆解任务节点,适配职场管理
java·大数据·服务器·数据库·python·php·openclaw
吴声子夜歌1 小时前
状态机——枚举实现简单状态机
java·枚举·状态机
Rick19931 小时前
【无标题】
java
yoyo_zzm1 小时前
四大编程技术对比:PHP、Java、Python与HTML
java·python·php