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')
相关推荐
数据知道4 小时前
反序列化漏洞:Java、PHP、Python 三条线各讲透
java·网络·python·安全·网络安全·php
2601_949950635 小时前
Java 面试准备,用练题簿把“背过八股”变成“真正会答”
java·开发语言·面试·刷题·小程序推荐
無限進步D5 小时前
Java 函数式编程(Lambda)
java·开发语言
rannn_1115 小时前
【力扣hot100】链表专题下|138、148、23、146
java·算法·leetcode·链表·开发
lv__pf6 小时前
Spring配置类解析 【TL spring 11】
java·前端·spring
zhougl9966 小时前
Java Spring Boot 爬虫技术全面介绍
java·spring boot·爬虫
奥莱维6 小时前
【无标题】
java·前端·javascript
风流 少年7 小时前
Spring AI 2.0:Hello World
java·人工智能·spring
qq_589666057 小时前
Java继承
java·开发语言