合并两列,一列有 space

coalesce two columns and one column has space

我有一个 table: 客户并且有三列。我想 select 第一个非空列。

Select ID 合并(columnA, ColumnB) 来自客户。

预期结果应为:101 AABB。

实际结果为101空白

A列可能有space,我trim列。

Select ID 合并(trim(columnA),ColumnB)来自客户。

我得到相同的结果:101 空白。

我怎样才能得到结果:101 AABB? ColumnA 可能有 space、空值和实际值

使用CONCATNULL 与 space 不同。COALESCE 将 return 第一个非空值,因此你得到 space。

select ID,CONCAT(trim(ColumnA),trim(ColumnB)) from customer

编辑

select ID, 
CASE WHEN ColumnA is null OR trim(ColumnA)=' ' then ColumnB else ColumnA END 
from customer