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')
相关推荐
星晨羽1 分钟前
西门子机床opc ua协议实现变量读写及NC文件上传下载
java·spring boot
无巧不成书02181 小时前
零基础Java网络编程全解:从核心概念到Socket实战,一文打通Java网络通信
java·开发语言·网络
aq55356001 小时前
Workstation神技:一键克隆调试环境
java·开发语言
今天你TLE了吗2 小时前
LLM到Agent&RAG——AI知识点概述 第六章:Function Call函数调用
java·人工智能·学习·语言模型·大模型
Rcnhtin2 小时前
RocketMQ
java·linux·rocketmq
JH30733 小时前
RedLock-红锁
java·redis
rannn_1114 小时前
【Redis|原理篇2】Redis网络模型、通信协议、内存回收
java·网络·redis·后端·缓存
遇见你的雩风4 小时前
网络原理(一)
java·网络
952364 小时前
Spring IoC&DI
java·数据库·spring
十六年开源服务商4 小时前
游戏与设计驱动WordPress建站2026
java·前端·游戏