小编典典

将两列合并为一列

sql

我有第1列和第2列,并希望将它们合并到同一表的第3列中。如果第2列为空,则显示第1列的值;如果第1列为空,则它们显示第2列的数据。如果它们都为空,则显示为空。我尝试了两件事:

1)使用CONCAT SELECT CONCAT(Column1, Column2) AS Column3 FROM TEST_ATTRIBUTES

仅当两个列都不为null时,它才合并列。否则,它只是将null声明为null。

2)使用(第1栏+第2栏)。

SELECT (Column1 + Column2) AS Column3 FROM TEST_ATTRIBUTES

没有显示所需的输出。

我正在用Java编写此代码。谢谢


阅读 169

收藏
2021-04-22

共1个答案

小编典典

use COALESCE(),它不连接,但返回列表中的第一个非null值。

SELECT Column1, 
       Column2, 
       COALESCE(Column1, Column2) AS Column3 
FROM   TEST_ATTRIBUTES

如果它们都为空,

SELECT Column1, 
       Column2, 
       IF(Column1 IS NULL AND Column2 IS NULL, NULL, CONCAT(COALESCE(Column1,''), COALESCE(Column2,''))) AS Column3 
FROM   TEST_ATTRIBUTES
2021-04-22