MySQLは2つの列を1つの列に結合します


106

2つの列を1つに結合する方法を見つけようとしていますが、単語の組み合わせではなく、列の値「0」を取得し続けます。

これらは私が試したものと他のものです:

SELECT column1 + column2 AS column3
FROM table;

SELECT column1 || column2 AS column3
FROM table;

SELECT column1 + ' ' + column2 AS column3
FROM table;

誰かが私が間違っていることを教えてもらえますか?


1
どのデータベースを使用していますか?2つの列のタイプは何ですか?
ゴードンリノフ2014年


このアウトをチェックしてください:stackoverflow.com/questions/6427764/...
チョードリーSaadmaan Mahmid

トップアンサーのソリューションを使用しますが、パイプを追加します。concat(column1、 '|'、column2)を選択します。それは後でエクセルに役立ちます
コズミックホーク

回答:


167

私の推測では+、値を数値にサイレント変換するとともに、演算子が加算を行うMySQLを使用しています。値が数字で始まらない場合、変換された値はになり0ます。

だからこれを試してください:

select concat(column1, column2)

スペースを追加する2つの方法:

select concat(column1, ' ', column2)
select concat_ws(' ', column1, column2)

私が使用していますsql server 2005し、それはとして私にエラーを与えているIncorrect syntax near ')'.
HUD

5
@coder。。。この質問には「mysql」というタグが付けられています。SQL Serverについて質問がある場合は、コメントではなく質問として質問してください。
Gordon Linoff

T-SQLでも機能し、優れたシンプルなソリューションです。2つの列を1つに減らします。
Ryan Battistone、

23

これを試してください、私にとってはうまくいきます

select (column1 || ' '|| column2) from table;

1
これはOracleに似ています。
コバーン2015

これは、複数(2つ以上)の列を組み合わせる場合にも有効です。Thx
カヤティリ

SQL標準には、2つの文字列を1つの文字列に連結するCONCAT()関数が用意されています。ただし、SQLiteはCONCAT()関数をサポートしていません。代わりに、連結演算子(||)を使用して2つの文字列を1つに結合します。
PaulH


5

これは、マージする列の間にスペースが必要なときに機能する唯一の解決策です。

select concat(concat(column1,' '), column2)

3

MySQLファンにとっては、このIFNULL()機能が気に入っています。ここでの他の回答はISNULL()、一部の実装での関数と同様の機能を示唆しています。私の状況ではNOT NULL、説明の列とシリアル番号の列があります。NULLこれは、これらを1つの列に結合する方法です。

SELECT CONCAT(description,IFNULL(' SN: ', serial_number),'')) FROM my_table;

私の結果は、文字列とNULL結果を連結した結果がであることを示唆していますNULL。それらの場合、私は代替価値を得ています。


3

Oracle次に作業している場合:

SELECT column1 || column2 AS column3
FROM table;

または

MySqlに取り組んでいる場合:

SELECT Concat(column1 ,column2) AS column3
FROM table;

1

私はこの方法を使用しており、それは永遠に最高です。このコードではnullも処理されました

SELECT Title,
FirstName,
lastName, 
ISNULL(Title,'') + ' ' + ISNULL(FirstName,'') + ' ' + ISNULL(LastName,'') as FullName 
FROM Customer

これを試して...



0
SELECT Collumn1 + ' - ' + Collumn2 AS 'FullName' FROM TableName                              

組み合わせる簡単な方法
Ravin
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.