flink Unsupported operand types: IF(boolean, NULL, String)

问题:业务方存储了NULL 字符串,需要处理为 null

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 类

确实没办法了,只能

select if(a=‘null’,cast(null as string),’a’)

相关推荐

最近更新

  1. TCP协议是安全的吗?

    2024-04-29 21:02:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-29 21:02:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-29 21:02:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-29 21:02:02       18 阅读

热门阅读

  1. python中json.dumps将中文变成unicode字符的解决办法

    2024-04-29 21:02:02       13 阅读
  2. Spring Boot应用部署 - War包部署

    2024-04-29 21:02:02       11 阅读
  3. 第30篇 RPC概述

    2024-04-29 21:02:02       11 阅读
  4. 题解:CF1946D(Birthday Gift)

    2024-04-29 21:02:02       10 阅读
  5. python第三方库

    2024-04-29 21:02:02       12 阅读
  6. CF1709B - Also Try Minecraft 题解

    2024-04-29 21:02:02       14 阅读
  7. jquery html(““)造成内存上涨

    2024-04-29 21:02:02       10 阅读
  8. SQL注入问题

    2024-04-29 21:02:02       8 阅读
  9. 香港CN2服务器如何应对DDoS攻击?

    2024-04-29 21:02:02       11 阅读
  10. 前端科举八股文-CSS篇

    2024-04-29 21:02:02       13 阅读