2010-12-20 67 views
24

當我concat($name, $surname),有沒有一種方法,把$name $surname之間的空格使用我的SQL不是PHP,所以當我得到的結果它格式化一點點清潔?mysql concat函數

非常感謝

回答

56

您可以將字符串文字和字段連接起來,因此您可以在連接的字段之間的字符串中添加空格字符。

使用此:

CONCAT(name, " ", surname) 

此功能是記錄很清楚的MySQL manual page for the CONCAT() function

還有CONCAT_WS function它允許您指定要在每個傳遞給函數的其他字段之間使用的分隔符。如果以相同方式連接兩個以上的字段,則可能認爲此功能比重複每個字段之間的分隔符要乾淨。

例如,如果你想添加一箇中間名場,你可以使用此功能只有一次指定分隔符:

CONCAT_WS(" ", first_name, middle_name, surname) 
16

只是在那裏添加一個空間。

SELECT CONCAT(name,' ',surname) AS full_name FROM table; 

編輯哎呀,糟糕的拼寫有...,P

+0

+1 :打敗我14秒 – 2010-12-20 22:53:43

+0

@OMGPonies:我很幸運,這一次。 ;-) – 2010-12-20 22:55:51

+0

+1。爲了安全起見,我會擴展到:'CONCAT(COALESCE(name,''),'',COALESCE(surname,''))' – 2010-12-20 22:56:55

0

使用CONCAT(name, ' ', surname)

4

利用這一點,沒有版本的依賴

concat(name,Char(32),venue) 
0

後試試這個我試圖做到這一點

concat(name, _utf8 ' ' ,name1) 
+0

這是回答這個問題嗎? – Rico 2014-04-25 14:43:40

+0

是的,而不是空間使用_utf8'' – Shivling 2014-04-25 14:57:16

0

嘿,我有同樣的問題,這是我用它和它r被真正制定出偉大的

CONCAT(列1「,」列2) 的問題是,你在添加物理空間的雙重法院之間(‘’)使用鍵盤上的空格鍵,然後完蛋了

+0

這與幾年前的答案相比有什麼不同? – patricksweeney 2014-12-02 18:36:33