我使用MySQL和MySQL Workbench 5.2 CE。当我尝试连接2列,last_name和first_name时,它不起作用:
select first_name + last_name as "Name" from test.student
我使用MySQL和MySQL Workbench 5.2 CE。当我尝试连接2列,last_name和first_name时,它不起作用:
select first_name + last_name as "Name" from test.student
MySQL不同于大多数dbms使用+或||进行连接。它使用CONCAT函数:
SELECT CONCAT(first_name, ' ', last_name) AS Name FROM test.student
还有CONCAT_WS (Concatenate With Separator)函数,它是CONCAT()的一种特殊形式:
SELECT CONCAT_WS(' ', first_name, last_name) from test.student
也就是说,如果您想将||视为字符串连接操作符(与CONCAT()相同),而不是MySQL中的OR同义词,则可以设置PIPES_AS_CONCAT SQL模式。
Try:
select concat(first_name,last_name) as "Name" from test.student
或者,更好:
select concat(first_name," ",last_name) as "Name" from test.student
使用concat()函数而不是像这样使用+:
select concat(firstname, lastname) as "Name" from test.student
这不是在MYSQL中连接的方法。使用CONCAT函数看看这里:http://dev.mysql.com/doc/refman/4.1/en/string-functions.html#function_concat
除了concat,你还可以使用concat_ws(用分隔符连接):
SELECT CONCAT_WS(' ', first_name, last_name) from test.student
这个函数有跳过空值的额外好处。
看到https://dev.mysql.com/doc/refman/8.0/en/string-functions.html function_concat-ws