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')
相关推荐
haiyu柠檬2 分钟前
IDEA和VSCode中好用的插件推荐
java·vscode·intellij-idea
怜淇7 分钟前
docker拉取openjdk8:jre失败
java·docker·容器
降临-max23 分钟前
JavaWeb企业级开发---Mybatis
java·开发语言·笔记·学习·mybatis
好好研究1 小时前
SpringBoot注解的作用
java·spring boot·spring
Libby博仙1 小时前
Spring Boot 条件化注解深度解析
java·spring boot·后端
我是小疯子661 小时前
深入解析C++右值引用与移动语义
java·开发语言·算法
better_liang1 小时前
每日Java面试场景题知识点之-JUC锁的底层原理
java·并发编程·juc·锁机制·reentrantlock·readwritelock·底层原理
悟能不能悟1 小时前
Elastic Stack 中两种主要查询语言 KQL (Kibana Query Language) 和 Lucene 的详细对比和解释。
java·开发语言
我是一只小青蛙8881 小时前
Java连接MySQL数据库实战指南
java
夏末4722 小时前
Java异常处理终极指南:从入门到企业级实战,让程序稳如老狗!
java·java ee