2010-12-20 115 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