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')
相关推荐
云烟成雨TD2 分钟前
Spring AI Alibaba 1.x 系列【53】Interrupts 中断机制:动态中断
java·人工智能·spring
用户2986985301410 分钟前
Java 操作 Word 文档:数学公式与符号的插入方法
java·后端
见青..10 分钟前
JAVA安全靶场环境搭建
java·web安全·靶场·java安全
一坨阿亮12 分钟前
Docker 离线部署
java·spring cloud·docker
LucaJu25 分钟前
一次 OOM 线上排查实录
java·jvm·oom·内存溢出
SimonKing35 分钟前
Firefox 太卡?换了这浏览器,内存占用直接降了 70%
java·后端·程序员
大大大大晴天️36 分钟前
Flink作业资源策略选择:大资源小并行度 vs 小资源大并行度
flink
咖啡八杯37 分钟前
GoF设计模式——建造者模式
java·后端
l软件定制开发工作室39 分钟前
Spring开发系列教程(41)——集成Open API
java·后端·spring
大大大大晴天39 分钟前
Flink作业资源策略选择:大资源小并行度 vs 小资源大并行度
flink