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')
相关推荐
邂逅星河浪漫5 小时前
【Docker+Nginx+Ollama】前后端分离式项目部署(传统打包方式)
java·nginx·docker·部署
IAtlantiscsdn5 小时前
Redis Stack扩展功能
java·数据库·redis
yunmi_5 小时前
2024版 IDEA 用 Maven 创建 java 项目(+Maven 安装和配置)
java·maven
float_六七5 小时前
Spring事务注解@Transactional核心机制详解
java·后端·spring
渣哥6 小时前
Java 线程安全详解:定义、常见问题与解决方案
java
没有bug.的程序员6 小时前
Redis 大 Key 与热 Key:生产环境的风险与解决方案
java·数据库·redis·缓存·热key·大key
We....6 小时前
Java分布式编程:RMI机制
java·开发语言·分布式
玉衡子6 小时前
七、InnoDB底层原理与日志机制
java·mysql
€8116 小时前
Java入门级教程17——利用Java SPI机制制作验证码、利用Java RMI机制实现分布式登录验证系统
java·开发语言·java spi机制·远程传输数据
2301_815357706 小时前
parameterType和@Param注解的区别
java·开发语言·数据库