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')
相关推荐
代码充电宝2 分钟前
LeetCode 算法题【中等】189. 轮转数组
java·算法·leetcode·职场和发展·数组
我命由我123455 分钟前
PDFBox - PDDocument 与 byte 数组、PDF 加密
java·服务器·前端·后端·学习·java-ee·pdf
花哥码天下9 分钟前
Oracle下载JDK无需登录
java·开发语言
摇滚侠24 分钟前
Spring Boot 3零基础教程,yml语法细节,笔记16
java·spring boot·笔记
wei84406787237 分钟前
本地项目第一次推送到gitee上的完整命令
java·android studio
星球奋斗者39 分钟前
计算机方向如何才能更好的找到工作?(成长心得)
java·后端·考研·软件工程·改行学it
Jabes.yang40 分钟前
互联网大厂Java面试:缓存技术与监控运维的深度探讨
java·面试指南·缓存技术·监控运维
海梨花1 小时前
【八股笔记】SSM
java·开发语言·笔记·后端·面试·框架
珹洺1 小时前
Java-Spring入门指南(二十五)Android 的历史,认识移动应用和Android 基础知识
android·java·spring
只想码代码1 小时前
什么是程序计数器?
java·jvm