首页 > 解决方案 > 当列中的任何一个具有空值时,如何连接多个列

问题描述

我有一个要求,我必须连接所有字段,如果任何字段为空,那么我必须给空间。

例如:

-- 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

任何人都可以帮助我如何做到这一点,我尝试了多种方法,但它不起作用

标签: apache-sparkpysparkapache-spark-sql

解决方案


您可以使用when删除空值或空字符串:

select (YEAR||case when col1 is null or col1 = '' then ' ' else col1 end||col2) from table

推荐阅读