我有一张桌子:客户并有三列。我想选择第一个非空列。
选择ID合并(columnA,ColumnB) 来自客户。
期望结果应为:101 AABB。
实际结果为101空白。
columnA可能有空格,我修剪了列。
从客户中选择ID coalesce(trim(columnA),ColumnB)。
我得到了相同的结果:101空白。
我怎样才能得到结果:101 AABB? ColumnA可以包含空格,空值和实际值
答案 0 :(得分:0)
使用CONCAT
。 NULL
与空格不同。COALESCE
将返回第一个非空值,因此您将获得空间。
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