我有一个表:customer,有三列。我想选择第一个非空列。从customer中选择id coalesce(columna,columnb)。预期结果应为:101 aabb。实际结果为101空白。柱子可能有空间,我修剪柱子。从customer中选择id coalesce(trim(columna),columnb)。我得到同样的结果:101空白。如何得到结果:101 aabb?列可以有空格、空值和实际值
uoifb46i1#
使用 CONCAT . NULL 和空间不一样。 COALESCE 将返回第一个非空值,因此您将获得空间。
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
1条答案
按热度按时间uoifb46i1#
使用
CONCAT
.NULL
和空间不一样。COALESCE
将返回第一个非空值,因此您将获得空间。编辑