2010-12-20 12 views
24

私はconcat($name, $surname)の間にスペースを入れる方法があるのですが、私のsqlではなくPHPを使用しているので、結果が得られるときに少し洗濯機をフォーマットしますか?mysql concat関数

多くの感謝

答えて

56

フィールドと一緒に文字列リテラルを連結することができるので、連結しているフィールドの間に文字列内に空白文字を追加できます。

これを使用します。

CONCAT(name, " ", surname) 

この機能はMySQL manual page for the CONCAT() functionにかなり明確に文書化されています。

CONCAT_WS functionもあります。これにより、関数に渡される他の各フィールド間で使用される区切り文字を指定できます。 2つ以上のフィールドを同じ方法で連結している場合、この関数は各フィールド間の区切り文字を繰り返すよりもきれいだと考えられます。あなたはミドルネームのフィールドを追加したい場合は

たとえば、あなたは一度だけ、セパレータを指定するには、この機能を使用することができます。

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

ちょうどそこにスペースを入れてください。

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

EDITおっと、そこに悪い綴り...; P

+0

+1、それのthats :14秒で私を打ち負かしてください –

+0

@OMGPonies:私はこれで運がいいです。 ;-) –

+0

+1。安全のために、私はこれを次のように拡張します: 'CONCAT(名前、 '')、 '、COALESCE(姓、')) –

0

使用CONCAT(name, ' ', surname)

4

使用これを、なしバージョン依存

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

後これを試してみた

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

これは質問に答えますか? – Rico

+0

スペースの代わりにyesを使用する_utf8 '' – Shivling

0

こんにちは私は同じ問題を抱えていました。これは私が使ったものですeallyキーボードのスペースバーを使用して「 問題はあなたが二重の裁判所の間に物理的なスペースを追加している(、COLUMN2

偉大CONCAT column1のを、」)( 『』)働いた後、

+0

これは数年前の回答と比べて何が違うのですか? – patricksweeney