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')
相关推荐
pyniu10 分钟前
Spring Boot车辆管理系统实战开发
java·spring boot·后端
虾说羊11 分钟前
ssm项目本地部署
java·tomcat
资生算法程序员_畅想家_剑魔12 分钟前
Kotlin常见技术分享-01-相对于Java 的核心优势-空安全
java·安全·kotlin
gelald18 分钟前
AQS 解析:从原理到实战
java·后端
2301_7806698619 分钟前
集合框架(Collection单列集合(常用功能,三种遍历方式及通过并发修改异常认识他们的区别)、Map双列集合)
java
进阶小白猿19 分钟前
Java技术八股学习Day14
java·数据库·学习
super_lzb21 分钟前
mybatis拦截器ResultSetHandler详解
java·spring·mybatis·springboot
代码or搬砖24 分钟前
JVM垃圾回收器
java·jvm·算法
客卿12326 分钟前
C语言刷题--合并有序数组
java·c语言·算法