2011-05-12 105 views
58

我正在使用MySQL和MySQL Workbench 5.2 CE。當我嘗試來連接2列,last_namefirst_name,這是行不通的:MySQL中的字符串連接

select first_name + last_name as "Name" from test.student 
+1

:)看你有多快得到答案! – Nishant

+0

不能用+符號,是的,我得到了結果tho,謝謝所有:) – Roshan

+1

@Nishant:只需3分鐘。 –

回答

129

MySQL是大多數DBMS都使用的+||進行連結不同。它採用CONCAT功能:

SELECT CONCAT(first_name, " ", last_name) AS Name FROM test.student 

由於@eggyal在評論中指出的那樣,你可以通過設置PIPES_AS_CONCAT SQL模式實現與MySQL中||操作字符串連接。

+6

更好的答案,解釋說MySQL不使用連接操作符。 – DonBecker

+16

請注意,這不是*完全*真:當['PIPES_AS_CONCAT'](http://dev.mysql.com/doc/en/server-sql-mode)MySQL *支持字符串連接時, .html#sqlmode_pipes_as_concat)啓用SQL模式。 – eggyal

+1

對於那些使用'Doctrine'的人,我必須在'CONCAT'中爲空格使用單引號,並且在整個查詢周圍使用雙引號。 – craned

21

嘗試:

select concat(first_name,last_name) as "Name" from test.student 

,或者更好:

select concat(first_name," ",last_name) as "Name" from test.student 
5

使用concat()功能,而不是+這樣的:

select concat(firstname, lastname) as "Name" from test.student