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')
相关推荐
Zzzzzxl_1 分钟前
互联网大厂Java/Agent面试:Spring Boot、JVM、微服务、RAG与向量检索实战问答
java·jvm·spring boot·kafka·rag·microservices·vectordb
牢七3 分钟前
数据结构123。
java
悟空码字6 分钟前
WebSocket实战:让服务器和客户端“煲电话粥”
java·websocket·编程技术·后端开发
x***38168 小时前
springboot和springframework版本依赖关系
java·spring boot·后端
S***84888 小时前
SpringSecurity踢出指定用户
java
p***s919 小时前
Spring数据库原理 之 DataSource
java·数据库·spring
adobehu9 小时前
麒麟系统安装jdk17
java·jdk
spencer_tseng9 小时前
java.util.IllegalFormatPrecisionException
java·printf
虹科网络安全9 小时前
艾体宝干货 | Redis Java 开发系列#1 从零开始的环境搭建与实践指南
java·数据库·redis
铅笔侠_小龙虾9 小时前
Arthas 命令
java·jvm