当前位置: 首页 > 面试题库 >

将两列合并为一列

孔征
2023-03-14
问题内容

我有第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编写此代码。谢谢


问题答案:

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

SELECT Column1, 
       Column2, 
       COALESCE(Column1, Column2) AS Column3 
FROM   TEST_ATTRIBUTES
  • SQLFiddle演示

如果它们都为空,

SELECT Column1, 
       Column2, 
       IF(Column1 IS NULL AND Column2 IS NULL, NULL, CONCAT(COALESCE(Column1,''), COALESCE(Column2,''))) AS Column3 
FROM   TEST_ATTRIBUTES
  • SQLFiddle演示


 类似资料:
  • 问题内容: 我正在尝试找到一种将两列合并为一个的方法,但是要保持列中的值“ 0”而不是单词的组合。 这些是我和其他人尝试过的: 有人可以让我知道我做错了吗? 问题答案: 我的猜测是,您使用的是MySQL,其中的运算符会进行加法运算,并将值自动转换为数字。如果值不是以数字开头,则转换后的值为。 所以试试这个: 两种添加空间的方法:

  • 问题内容: 使用此解决方案,我尝试将COALESCE用作MySQL查询的一部分,该查询使用SELECT As输出到csv文件,以在导出数据时命名列名称。 我想要3列:名字,姓氏和联系人电话 我得到5列:名字,姓氏,ContactPhoneAreaCode1,ContactPhoneNumber1和Contact_Phone 如何在查询中将ContactPhoneAreaCode1和ContactP

  • 本文向大家介绍MySQL查询将两列合并为一个列?,包括了MySQL查询将两列合并为一个列?的使用技巧和注意事项,需要的朋友参考一下 您可以为此使用功能。在该函数中,它从列中返回第一个NON NULL值。为了理解这个概念,让我们首先创建一个演示表 使用insert命令在表中插入一些记录。查询如下- 现在,您可以使用select语句显示表中的所有记录。查询如下- 以下是输出 这是将两列合并为一个查询的

  • 问题内容: 我有一个SQL查询 我希望结果应该是。 请帮帮我!! 问题答案: 试试这个:

  • 问题内容: 我有 我想要 问题答案:

  • 我有两排像这样的, 我希望将它们合并为一个单独的: 不知道如何在熊猫身上做到这一点。任何提示都将受到高度赞赏!提前谢谢