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')
相关推荐
小谢小哥几秒前
64-依赖冲突解决详解
java·后端·架构
阿杰AJie4 分钟前
ExcelUtils样式相关工具
java·后端
jsl_jsl_jsl4 分钟前
☕ Java 高并发进阶(三):Java 锁体系全景解析——从 Synchronized 到 AQS 高阶锁
java
love_muming4 分钟前
从 ArrayList 到 LinkedList:Java 集合中数组与链表的深度对比
java·数据结构·链表
荣码7 分钟前
Java后端用LangChain搭大模型应用,我踩了5个坑
java
JAVA9658 分钟前
JAVA面试-并发篇 04-synchronized和ReentrantLock 的区别是什么
java·面试
我是一只码蚁9 分钟前
《别再死记面向对象了,我家咖啡机就是最好的老师》
java·后端
ZenosDoron11 分钟前
malloc规范
java·开发语言
codeejun11 分钟前
每日一Go-71、理论知识:CAP 、一致性原理 、Raft 机制(简化实现一个 Raft)
java·开发语言·golang
阿杰 AJie12 分钟前
ExcelUtils样式相关工具
java·后端