繁体   English   中英

在一列中合并两列

[英]Combine two columns in one column

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

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

它只是在两个列都不为空时才合并列。 否则它只是prins null。

2)使用(column1 + column 2)。

SELECT (Column1 + Column2) AS Column3 FROM TEST_ATTRIBUTES

没有显示所需的输出。

我在java中编写这段代码。 谢谢

使用COALESCE() ,这不会连接,但会从列表中返回第一个非空值。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM