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')
相关推荐
骄马之死14 分钟前
Spring 核心知识点(IOC + AOP + 事务)
java·后端·spring
学计算机的计算基18 分钟前
2026 年 AI 助手三国杀:Claude Code vs 腾讯马维斯 vs MiniMax Mavis,我同时用了三周,结论很意外
java·人工智能·python·算法·langchain
_Aaron___18 分钟前
Spring AI 应用上线前,先把大模型调用变成可观测链路
java·人工智能·spring
小糯米60118 分钟前
C语言 自定义类型:联合和枚举
java·c语言·开发语言
weixin_5231853221 分钟前
Java基础知识总结(二):JVM内存结构与变量生命周期
java·开发语言·jvm
我是大猴子27 分钟前
连接池+虚拟线程
java
技术小结-李爽27 分钟前
【工具】如何认识Maven
java·maven
小碗羊肉37 分钟前
【RabbitMQ高级】如何保证消息的可靠性?
java·rabbitmq·java-rabbitmq
xiaoshuaishuai81 小时前
C# 多线程之间对比
java·开发语言·c#
越努力越幸运661 小时前
Java 无需 Office 环境实现 Word 转 HTML
java