apache-spark - 当列中的任何一个具有空值时,如何连接多个列
问题描述
我有一个要求,我必须连接所有字段,如果任何字段为空,那么我必须给空间。
例如:
-- If col1 value is not null
SELECT (YEAR||col1||(col2)) FROM table
-- output: 202112abc
-- If col1 value is null
SELECT (YEAR||col1||(col2)) FROM table
-- output : 2021 abc
任何人都可以帮助我如何做到这一点,我尝试了多种方法,但它不起作用
解决方案
您可以使用when
删除空值或空字符串:
select (YEAR||case when col1 is null or col1 = '' then ' ' else col1 end||col2) from table
推荐阅读
- ubuntu - 如何配置 apport 以收集核心转储,但不上传?
- c - C根据给定的整数值调用不同的函数
- unity3d - how do I toggle 'solo' and 'mute' from script (animator)
- fortran - Fortran - 写语句影响后续计算
- c# - C# - 如何遍历类中的所有字段并在这些字段上调用方法?
- html - httpd 禁止访问不是在 /var/www/html/ 中创建的文件
- c++ - 为什么控制台要求更多输入?C++
- android - 如何在意图引用的活动中触发动作?
- javascript - 为按钮创建了一个具有两个函数的 AddEventListener。两个功能中只有一个起作用
- php - Laravel 记录不删除也不销毁