MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLのCONCAT関数で異なる列の文字列と追加の文字列を連結する方法

MySQLではCONCAT関数を使用することで、異なる列の文字列同士を連結したり、任意の追加文字列を組み合わせたりすることができます。ここでは、FirstName(名)とLastName(姓)の2つの列を持つテーブルを例に、先頭に「Hello」という文字列を付けて連結する方法を解説します。

1. テーブルの作成

まず、サンプル用のテーブルを作成します。

mysql> create table DemoTable
(
    FirstName varchar(100),
    LastName varchar(100)
);
Query OK, 0 rows affected (0.76 sec)

2. レコードの挿入

INSERTコマンドを使って、テーブルにいくつかのレコードを挿入します。

mysql> insert into DemoTable values('Chris','Brown');
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable values('Adam','Smith');
Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoTable values('Carol','Taylor');
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable values('David','Miller');
Query OK, 1 row affected (0.12 sec)

3. テーブルの内容を確認

SELECT文を使用して、テーブル内のすべてのレコードを表示してみましょう。

mysql> select *from DemoTable;

このクエリを実行すると、次のような結果が出力されます。

+-----------+----------+
| FirstName | LastName |
+-----------+----------+
| Chris     | Brown    |
| Adam      | Smith    |
| Carol     | Taylor   |
| David     | Miller   |
+-----------+----------+
4 rows in set (0.00 sec)

4. CONCAT関数で文字列を連結する

それでは、実際に文字列を連結するクエリを見ていきましょう。以下の例では、FirstNameとLastNameを連結するとともに、すべての文字列値の先頭に「Hello 」という追加の文字列を付けています。

mysql> select concat('Hello ',FirstName,' ',LastName) from DemoTable;

このクエリを実行すると、次のような結果が得られます。

+-----------------------------------------+
| concat('Hello ',FirstName,' ',LastName) |
+-----------------------------------------+
| Hello Chris Brown                       |
| Hello Adam Smith                        |
| Hello Carol Taylor                      |
| Hello David Miller                      |
+-----------------------------------------+
4 rows in set (0.00 sec)

ポイント

  • CONCAT関数は、引数として渡されたすべての文字列を順番に連結します。
  • 固定文字列(この例では「Hello 」や半角スペース)も引数に含めることで、自由な形式で出力できます。
  • いずれかの引数がNULLの場合、結果全体がNULLになるため注意が必要です。NULLを無視したい場合はCONCAT_WS関数の利用を検討してください。

このように、CONCAT関数を使えば複数の列の値と任意の文字列を簡単に組み合わせることができ、氏名のフルネーム表示などさまざまな場面で活用できます。

  1. MySQLで異なるテーブルの列を連結する方法|CONCAT関数の使い方を解説

    MySQLでは、CONCAT()関数を使うことで、異なるテーブルに存在する列の値を簡単に連結できます。この記事では、2つのテーブルを作成し、それぞれの列を組み合わせて氏名のような文字列を生成する具体的な手順を解説します。 1. 最初のテーブルを作成する まず、名前(FirstName)を格納するテーブルを作成しましょう。 mysql> create table DemoTable1    -> (    -> FirstName varchar(20)   &nb

  2. MySQLでハイフン区切りの文字列値を1つの列から複数の列に分離して選択する方法

    ハイフンで区切られた文字列値を1つの列から複数の列に分離して取得したい場合、MySQLの SUBSTRING_INDEX() 関数を使用すると簡単に実現できます。ここでは、サンプルテーブルを使って具体的な手順を解説します。 サンプルテーブルの作成 まず、従業員情報を格納するテーブルを作成します。 mysql> create table DemoTable1962 ( EmployeeInformation text ); Query OK, 0 rows affected (0.00 sec) データの挿入 次に、INSERT文を使って「ID-名前-年齢」の形