MySQLで列の部分文字列(サブストリング)を取得する方法
MySQLのSUBSTR()関数を使って列の部分文字列を抽出する
MySQLでは、SUBSTR()関数を使用することで、テーブルの列から任意の位置の部分文字列(サブストリング)を簡単に抽出できます。この関数は、開始位置と取得する文字数を指定するだけで動作し、文字列の先頭や中間、末尾付近のデータだけを取り出したい場合に非常に便利です。
以下に、実際の手順を順番に解説していきます。
1. サンプルテーブルを作成する
まず、動作確認用のテーブルを作成しましょう。
mysql> create table DemoTable
-> (
-> Title text
-> );
Query OK, 0 rows affected (0.74 sec)
ここでは「Title」というtext型の列を持つ「DemoTable」を作成しました。
2. レコードを挿入する
次に、INSERTコマンドを使ってテーブルにレコードを追加します。
mysql> insert into DemoTable values('This is a MySQL Database');
Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoTable values('Java is an Object Oriented Programming Language');
Query OK, 1 row affected (0.17 sec)3. テーブルの内容を確認する
SELECT文ですべてのレコードを表示して、正しく挿入されているか確認します。
mysql> select *from DemoTable ;
出力結果
上記のクエリを実行すると、次のような出力が得られます。
+-------------------------------------------------+
| Title |
+-------------------------------------------------+
| This is a MySQL Database |
| Java is an Object Oriented Programming Language |
+-------------------------------------------------+
2 rows in set (0.00 sec)
4. SUBSTR()で部分文字列を抽出する
いよいよ本題です。SUBSTR()関数を使って、Title列の先頭8文字を抽出してみましょう。
mysql> SELECT distinct(substr(Title, 1, 8)) from DemoTable;
このクエリのポイントは以下のとおりです。
- 第1引数(Title):対象となる列名
- 第2引数(1):抽出を開始する文字位置(1が先頭)
- 第3引数(8):抽出する文字数
また、distinctを組み合わせることで、重複した抽出結果を除外しています。
出力結果
実行すると、各タイトルの先頭8文字が抽出され、次のような結果になります。
+-----------------------+
| (substr(Title, 1, 8)) |
+-----------------------+
| This is |
| Java is |
+-----------------------+
2 rows in set (0.00 sec)
まとめ
SUBSTR()関数を使えば、MySQLの列データから必要な部分だけを柔軟に取り出せます。開始位置や文字数を変えれば、末尾からの抽出や中間部分の切り出しにも対応できます。なお、SUBSTRING()関数も同様の機能を持っており、どちらを使っても同じ結果が得られます。ログデータの整形やキーワード抽出など、日常的なデータ処理でぜひ活用してください。
-
MySQLで選択した行のサイズを取得する方法|CHAR_LENGTH()関数の使い方
MySQLで選択した行のサイズを取得する方法MySQLで選択した行のサイズ(文字数)を取得するには、CHAR_LENGTH()関数を使用します。この関数は文字列の長さを返すため、SUM()関数と組み合わせることで、複数行にわたる合計サイズを簡単に算出できます。ここでは、実際にテーブルを作成しながら手順を詳しく解説していきます。ステップ1:テーブルを作成するまず、サンプル用のテーブルを作成しましょう。mysql> create table DemoTable1612 -> ( -> Fi
-
MySQLで列の最大値を取得する方法をわかりやすく解説
MySQLで特定の列の最大値を取得するには、MAX(columnName)関数を使用します。本記事では、その基本的な使い方に加えて、データベースやテーブルの設計に関する前提知識もあわせて解説します。MySQLのデータベースとテーブルの基礎MySQLをインストールする前に、まず使用するバージョンと配布形式(バイナリファイルか、ソースファイルからビルドするか)を決定することが重要です。新しく作成したばかりのデータベースには、当然ながらテーブルはまだ存在しません。データベース設計において最も重要なのは、以下の要素を決めることです。データベース全体の構造必要となるテーブルの一覧各テーブルに含まれる列(