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')
相关推荐
Kiyra3 分钟前
LinkedHashMap 源码阅读
java·开发语言·网络·人工智能·安全·阿里云·云计算
sheji34163 分钟前
【开题答辩全过程】以 山林湖泊生态文明建设管控系统为例,包含答辩的问题和答案
java·spring boot
幽络源小助理13 分钟前
SpringBoot兼职发布平台源码 | JavaWeb项目免费下载 – 幽络源
java·spring boot·后端
2501_9167665421 分钟前
【Java】HashMap集合实现类
java·开发语言
不会聊天真君64726 分钟前
设计模式、线程状态、上下文切换、线程安全(JAVA并发第二期)
java
Swift社区28 分钟前
死锁:线程卡死不是偶然,而是设计问题
java·spring·maven
uup28 分钟前
防止短信验证码接口被盗刷问题
java
xxxmine35 分钟前
ConcurrentHashMap 和 Hashtable 的区别详解
java·开发语言
凛_Lin~~35 分钟前
安卓 面试八股文整理(原理与性能篇)
android·java·面试·安卓
weixin_436525071 小时前
NestJS-TypeORM QueryBuilder 常用 SQL 写法
java·数据库·sql