我需要将数据从一个表复制到另一个表。我需要将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这样的名字
答案 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
函数