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')
相关推荐
java硕哥4 分钟前
Spring源码debug方法
java·后端·spring
杂货铺的小掌柜16 分钟前
MAC版IDEA常用快捷键
java·macos·intellij-idea
xjz184228 分钟前
JVM虚拟线程:JEP 444开启Java并发编程新纪元
java
JH307329 分钟前
Spring Retry 实战:优雅搞定重试需求
java·后端·spring
蓝眸少年CY43 分钟前
测试Java性能
java·开发语言·python
何包蛋H43 分钟前
数据结构深度解析:Java Map 家族完全指南
java·开发语言·数据结构
linsa_pursuer1 小时前
最长连续序列
java·数据结构·算法·leetcode
强子感冒了1 小时前
Java集合框架深度学习:从Iterable到ArrayList的完整继承体系
java·笔记·学习
drebander1 小时前
Cursor IDE 中 Java 项目无法跳转到方法定义问题解决方案
java·ide·cursor
来不及辣哎呀1 小时前
学习Java第六十二天——Hot 100-09-438. 找到字符串中所有字母异位词
java·开发语言·学习