MySQLのTEXTデータ型フィールドに格納された文字列を連結する方法
MySQLのTEXTデータ型として定義されたフィールドの値に、別の文字列を連結したい場合には、CONCAT()関数を使用します。CONCAT()関数は、複数の文字列を1つに結合するための便利な関数で、UPDATE文と組み合わせることで、既存のフィールド値の末尾に新しい文字列を追加できます。
ここでは、実際のサンプルを通して手順を解説します。
1. テーブルの作成
まず、TEXTデータ型のカラムを持つテーブルを作成します。
mysql> create table DemoTable644 (Title text); Query OK, 0 rows affected (0.81 sec)
2. レコードの挿入
INSERTコマンドを使って、テーブルにいくつかのレコードを挿入します。
mysql> insert into DemoTable644 values('Introduction');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable644 values('Welcome in course');
Query OK, 1 row affected (0.10 sec)3. レコードの確認
SELECT文を使用して、テーブル内のすべてのレコードを表示します。
mysql> select *from DemoTable644;
このクエリを実行すると、以下のような出力が得られます。
+-------------------+ | Title | +-------------------+ | Introduction | | Welcome in course | +-------------------+ 2 rows in set (0.00 sec)
4. CONCAT()関数で文字列を連結する
ここからが本題です。TEXTデータ型のフィールドに文字列を連結するためのクエリがこちらです。
mysql> update DemoTable644 set Title=concat(Title,' To MySQL'); Query OK, 2 rows affected (0.10 sec) Rows matched: 2 Changed: 2 Warnings: 0
このUPDATE文では、CONCAT()関数の第一引数に既存のカラム名「Title」を指定し、第二引数に連結したい文字列「' To MySQL'」を指定しています。これにより、すべてのレコードのTitleフィールドの値の末尾に「To MySQL」が追加されます。
5. 更新結果の確認
再度テーブルのレコードを確認してみましょう。
mysql> select *from DemoTable644;
実行結果は以下のとおりです。
+----------------------------+ | Title | +----------------------------+ | Introduction To MySQL | | Welcome in course To MySQL | +----------------------------+ 2 rows in set (0.00 sec)
まとめ
このように、CONCAT()関数を使えば、TEXTデータ型のフィールドに格納された既存の文字列に対しても、簡単に別の文字列を連結することができます。CONCAT()関数は複数の引数を取ることができるため、「CONCAT(Title, ' To MySQL', ' - 基礎編')」のように、3つ以上の文字列を一度に連結することも可能です。なお、引数のいずれかがNULLの場合、CONCAT()の戻り値もNULLになる点に注意してください。NULLを許容するカラムを扱う場合は、CONCAT_WS()関数やIFNULL()関数との組み合わせを検討するとよいでしょう。
-
MySQLでDATETIME型の列に時間を追加する方法|ADDTIME()関数の使い方を解説
DATETIME型の値に時間を加算したい場合、MySQLではADDTIME()関数を使うのが便利です。この記事では、実際にテーブルを作成し、サンプルデータを挿入しながら、ADDTIME()関数で時間を追加する手順をわかりやすく解説します。1. テーブルを作成するまず、DATETIME型の列を持つテーブルを作成します。mysql> create table DemoTable1848 ( ShippingDate datetime ); Query OK, 0 rows affected (0.00 sec)2. サンプルデータを挿入する次に、INSERT文を使って
-
MySQLのフィールドに現在の日付を設定する方法(UNIX_TIMESTAMP(now)の使い方)
MySQLでは、unix_timestamp()関数を使うことで、現在の日時をUNIXタイムスタンプとして取得し、テーブルのフィールドに簡単に設定できます。この記事では、実際にテーブルを作成し、現在の日付(UNIXタイムスタンプ)をフィールドに設定する手順を解説します。UNIXタイムスタンプとはUNIXタイムスタンプとは、1970年1月1日00:00:00 UTCからの経過秒数を表す数値です。日時を整数として扱えるため、比較や計算が容易になり、データベースでの時間管理によく利用されます。サンプルテーブルの作成まず、以下のようにCREATE TABLE文でテーブルを作成します。mysql>