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')
相关推荐
麦兜*8 分钟前
SpringBoot Profile多环境配置详解,一套配置应对所有场景
java·数据库·spring boot
MetaverseMan8 分钟前
rpc节点: synchronized (this) + 双检锁,在 race condition 的情况下分析
java·区块链
笃行客从不躺平9 分钟前
Seata + AT 模式 复习记录
java·分布式
CTO Plus技术服务中12 分钟前
强悍的Go语言开发面试题和答案
java·面试·职场和发展
黎雁·泠崖21 分钟前
Java static入门:概述+静态变量特点与基础实战
java·开发语言
一条大祥脚26 分钟前
26.1.21 根号分治 相向双指针
java·开发语言·redis
迦蓝叶33 分钟前
JDBC元数据深度实战:企业级数据资源目录系统构建指南
java·jdbc·企业级·数据资源·数据血缘·数据元管理·构建指南
chilavert31834 分钟前
技术演进中的开发沉思-327 JVM:内存区域与溢出异常(下)
java·jvm
冲刺逆向34 分钟前
【js逆向案例六】创宇盾(加速乐)通杀模版
java·前端·javascript