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')
相关推荐
JavaLearnerZGQ2 分钟前
1、Java中的线程
java·开发语言·python
小当家.10514 分钟前
深入理解JVM:架构、原理与调优实战
java·jvm·架构
刀法如飞22 分钟前
一款开箱即用的Spring Boot 4 DDD工程脚手架
java·后端·架构
一嘴一个橘子26 分钟前
spring-aop 的 基础使用 -3 - 切点表达式 的提取、复用
java
Re_zero28 分钟前
Java新手避坑:为什么我劝你放弃 scanner.nextInt()?
java
Good_Starry1 小时前
Java——反射
java
又是忙碌的一天1 小时前
SpringBoot 创建及登录、拦截器
java·spring boot·后端
fox_mt2 小时前
AI Coding - ClaudeCode使用指南
java·ai编程
毕设源码-郭学长2 小时前
【开题答辩全过程】以 基于SSM的高校运动会管理系统的设计与实现为例,包含答辩的问题和答案
java·eclipse
qq_5470261792 小时前
Maven 使用指南
java·maven