合并两列,一列有 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、空值和实际值
使用CONCAT
。 NULL
与 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
我有一个 table: 客户并且有三列。我想 select 第一个非空列。
Select ID 合并(columnA, ColumnB) 来自客户。
预期结果应为:101 AABB。
实际结果为101空白
A列可能有space,我trim列。
Select ID 合并(trim(columnA),ColumnB)来自客户。
我得到相同的结果:101 空白。
我怎样才能得到结果:101 AABB? ColumnA 可能有 space、空值和实际值
使用CONCAT
。 NULL
与 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