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')
相关推荐
zhaokuner12 小时前
12-深层模型与重构-DDD领域驱动设计
java·开发语言·设计模式·架构
weixin_4407305012 小时前
java面向对象OPP-三大特性
java·开发语言·python
No芒柠Exception13 小时前
Spring Boot 实现分片上传、断点续传与进度条
java·后端
k***921613 小时前
如何在C++的STL中巧妙运用std::find实现高效查找
java·数据结构·c++
君爱学习13 小时前
Spring AI简介
java
EnzoRay13 小时前
注解
java
宇宙之大,无奇不有(一个玩暗区的人)13 小时前
[NOIP 2011 普及组]T1 数字反转
java·开发语言·算法
技术小泽13 小时前
搜索系统架构入门篇
java·后端·算法·搜索引擎
benpaodeDD13 小时前
黑马springboot1
java·开发语言·spring boot
长安er13 小时前
LeetCode121/55/45/763 贪心算法理论与经典题解析
java·数据结构·算法·leetcode·贪心算法·贪心