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')
相关推荐
zhangyifang_0094 分钟前
Spring中的BeanDefinition
java·后端·spring
不会代码的小猴10 分钟前
C++的第十四天笔记
java·开发语言
Heavydrink13 分钟前
Java项目部署云服务器详细教程
java·服务器·开发语言
milanyangbo14 分钟前
深入解析 Disruptor:从RingBuffer到缓存行填充的底层魔法
java·数据库·后端·架构
yaoxin52112315 分钟前
266. Java 集合 - ArrayList vs LinkedList 内存使用深度剖析
java·开发语言
没有bug.的程序员22 分钟前
云原生 + JIT:冷启动与预热优化
java·jvm·云原生·日志·gc·jit
Jackyzhe23 分钟前
Flink学习笔记:状态后端
大数据·flink
risc12345626 分钟前
【备忘录】java.lang.Throwable#addSuppressed这个是干嘛的?
java·开发语言
__万波__28 分钟前
二十三种设计模式(十)--外观模式
java·设计模式·外观模式
Geoking.28 分钟前
深度理解 Java 中的 switch —— 从基础到进阶的完整指南
java