插入前合并两个或多个字段

时间:2014-10-27 15:54:42

标签: mysql sql

我需要将数据从一个表复制到另一个表。我需要将firname和surname合并到一个名为fullname

的字段中

我该怎么做?

INSERT INTO table_one (id, full_name, dob)  
SELECT id, first_name, second_name, dob
  FROM table_two
 WHERE id>0;

我需要将first_name和surname与中间的逗号合并

编辑:

如何在尝试连接之前检查名字和名字是否为null。我不想要像John,Null这样的名字

3 个答案:

答案 0 :(得分:3)

查看MySQL CONCAT

编辑完成后,您需要使用CONCAT_WS。这将跳过空值或NULL值。

SELECT id, CONCAT_WS(' ', first_name, second_name) as full_name, dob

答案 1 :(得分:1)

您可以使用CONCAT_WS功能。这将忽略任何空值:

INSERT INTO table_one (id, full_name, dob)  
SELECT id, CONCAT_WS(' ', first_name, second_name) AS name, dob
  FROM table_two
 WHERE id>0;

http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_concat-ws

答案 2 :(得分:1)

这里可以使用的是CONCAT()函数,它用于连接两个字符串以形成单个字符串

所以代码就像

SELECT id, CONCAT(firstname, ' ', lastname) as fullname, dob

如果要跳过忽略空值,可以使用CONCAT_WS函数