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')
相关推荐
未来转换6 小时前
基于A2A协议的生产应用实践指南(Java)
java·开发语言·算法·agent
后端漫漫6 小时前
Redis 配置文件与服务功能
java·redis
Dwzun6 小时前
基于Java+SpringBoot+Vue的校园二手物品置换系统设计与实现【附源码+文档+部署视频+讲解】
java·开发语言·spring boot
polaris06306 小时前
Spring Boot 项目开发流程全解析
java·spring boot·log4j
zuowei28896 小时前
spring实例化对象的几种方式(使用XML配置文件)
xml·java·spring
C、空白格6 小时前
Java集成Vosk实现离线语音识别
java·开发语言·语音识别
阿巴斯甜6 小时前
preProcessHandler: (AppException) -> Boolean用法:
java
Lyyaoo.7 小时前
【JAVA基础面经】native方法
java·开发语言
牛十二7 小时前
nacos2.4连接出错源码分析
java·linux·开发语言
阿巴斯甜7 小时前
userList.stream().sorted((u1, u2) -> u2.getAge() - u1.getAge()); 怎么判断是升序还是降序?
java