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')
相关推荐
凤山老林4 分钟前
Spring Boot 定时任务进阶:动态 Cron 与集群防重实战
java·spring boot·后端·定时任务·集群定时任务
xbgRS1 小时前
spring整合mybaits
java·spring·mybatis
Tim_102 小时前
【C++】024、new[]与delete[]配对使用
java·开发语言
小黑技术栈2 小时前
Java前端基础到入门——16day
java·开发语言·前端
2401_827499992 小时前
C++(黑马)05-提高编程
java·开发语言·c++
卷心菜的学习路3 小时前
基于多模态向量检索的数学相似题推荐系统:完整设计、算法与实验
java·python·算法·大模型·推荐算法·数学相似题
墨雨晨曦884 小时前
Spring AI总结
java·人工智能·spring
豆沙沙包?4 小时前
C++-程序的内存模型(P84-P88)
java·jvm·c++
吴声子夜歌5 小时前
正则指引——匹配原理
java·正则表达式
未秃头的程序猿5 小时前
凌晨3点被叫醒:线上OOM,我用这套流程40分钟定位根因
java·jvm·后端